MySQL

データベースMySQLについて

 

インストールおよび環境設定

 ・CentOS / RedHat  ・Debian  ・Windows  ・Macintosh

 

  • MySQL 5.5 から 5.7へアップグレード(Debian Jessieの場合)

まず、データベースのバックアップ、現状の確認、MySQLを停止、apt-get remove でMySQL 5.5 を削除、MySQL 5.7 インストール、MySQL再起動の手順です。

dpkg -l | grep 'mysql'  で現状の確認

削除するMySQL 5.5 環境の確認(mysql-client  mysql-server  mysql-common  mysql-community-client  mysql-community-server  mysql-utilites など)

インストール ここを参考に  

mysql-server 再起動

MySQL 5.5から5.7へプログラムをアップグレードした後、データベースをアップグレードします。

Linuxのコマンドラインで、 $ sudo mysql_upgrade -uroot -p

 

  • MySQL 5.7 から 8 へのアップグレード(Ubuntu 18.04の場合)

アップグレードの手順 ここを参考に  

  • Add MySQL APT repository
  • Update APT index and install MySQL server
  • Manage mysql.service

 

  • Mariadb-server のインストール(Debian 10 buster)

Debian 8 や Debian 9 からDebian 10へMySQLをアップグレードした場合など、MySQLおよびMariaDBの設定環境が混在して、MySQLが起動しない場合がありました。

apt remove --purge コマンドでも設定ファイルなどが削除されない場合があります。

my.cnf の設定などは、次のサイトを参考に確認し、調整します。https://beyondjapan.com/blog/2016/03/2002-mysql-socket-error/

それでも動作が不安定、起動しない場合は、Debian 10を再インストールすることも解決策です。

 

  • MariaDB-server 10.5 へのアップグレード (Debian 9 Stretch)

アップグレードの手順  ここを参考に

  • Data Backup
  • uninstall old version
  • install new version
  • start server
  • upgrading data directory
  • test 

 

  • MariaDB 10.1 から 10.3 へのアップグレード (Debian 9)

アップグレードの手順  ここを参考に

 

  • MariaDB-server 10.5 へのアップグレード (Debian 10 Buster)

アップグレードの手順  ここを参考に

  • Data Backup
  • uninstall old version
  • install new version
  • start server
  • upgrading data directory
  • test 

 

  • MariaDB の my.cnf (Ubuntu Ubuntu 20.04.6 LTS)

Ubuntuではデフォルトで /etc/my.cnf ファイルがないので、自分で追加しました。他の設定方法もあるようですが。

/etc/my.cnfに以下の内容を追記

[mysqld]
innodb_buffer_pool_size=4G
max_allowed_packe=20M
innodb_log_buffer_size=256M
innodb_thread_concurrency=24

MariaDB再起動  sudo systemctl restart mysql    sudo systemctl restart mysqld

 

local以外の外部から接続する設定

作業中です。

 

 

コマンドの基礎

 

MySQLユーザーのパスワードを設定

環境: MySQL 5.0

・GRANT文でユーザー登録、パスワード指定

mysql > GRANT SELECT ON データベース名.フィールド名 TO 'ユーザー'@'ホスト' IDENTIFIED BY 'パスワード';

・SET PASSWORD文でパスワード設定

mysql > SET PASSWORD FOR 'ユーザー'@'ホスト'=PASSWORD('パスワード');

・UPDATE文でパスワード設定

mysql > UPDATE user SET Password=PASSWORD('パスワード') WHERE User='ユーザー' AND Host='ホスト';

mysql > FLUSH PRIVILEGES;

※ 権限テーブルを直接変更した場合は、FLUSH PRIVILEGES を実行し、テーブルを再度読み込み、権限の変更を反映させます。 mysqladminコマンドの場合 $ mysqladmin -uユーザー -hホスト password パスワード ・ユーザー登録 あらゆる操作ができるユーザーを登録

mysql > GRANT ALL PRIVILEGES ON *.* TO ユーザー IDENTIFIED BY 'パスワード'

mysql > GRANT ALL PRIVILEGES ON *.* TO 'ユーザー'@'ホスト' IDENTIFIED BY 'パスワード';

・ユーザーの削除

mysql > DROP USER 'ユーザー'@'ホスト';

 

データベースの作成、削除

 

・mysqladminを使う方法

$ mysqladmin -uroot -p create データベース名

$ mysqladmin -uroot -p drop データベース名

・SQLでの場合

mysql > CREATE DATABASE データベース名;

mysql > DROP DATABASE データベース名;

 

データベースのダンプ

・mysqldumpコマンドの場合

gzipで圧縮

# mysqldump -u user -p データベース名 | gzip > dbname.dump.gz

 

リストア(インポート)する場合

zcat dbname.dump.gz | mysql -u user -p データベース名

パスワードはコマンドラインで入力します

sudoの場合は sudo zcat インポートファイル.sql.gz | sudo mysql -uユーザ名 -pパスワード DB名

 

すべてのデータベースのバックアップとリストア

・mysqldumpコマンドの場合

mysqldump -u root -p --all-databases > ~/backup.sql

cp -r /etc/mysql ~/

・リストア

mysql -u root -p < ~/backup.sql

 

 

オープンソースソフトウェア: 

phpMyAdmin

phpMyAdminについて

 

インストールについて

 

環境: CentOS 5.5   PHP 5.3.4  MySQL 5.1.54  phpMyAdmin 3.3.8.1

 
ダウンロードした phpMyAdmin-3.3.8.1-all-languages.tar.gz を解凍し、phpMyAdmin-3.3.8.1-all-languages という解凍後のディレクトリをApacheのDocumentRootにコピーもしくは移動させて、ディレクトリ名を phpMyAdmin と設定します。
 
phpMtAdminのディレクトリにある、config.sample.inc.phpのファイルをコピーして、config.inc.php というファイル名にします。その後、以下の設定をします。
 
以下のところに、使用するURLを記入します。
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin/';
 
スタンドアロン的に使う場合の簡単な方法として、以下のcookieではなくhttpで設定できます。テストとして使用した場合。
$cfg['Server'][$i]['auth_type'] = 'cookie';
 
ファイルを保存後、http://....DocumentRoot/phpMyAdmin/  でログインし、MySQLのユーザー名とパスワードでログインします。 インターネット上ではセキュリティを意識した追加の設定をします。

 

Debianへインストール

環境 Debian 8.2 

aptitude -y install phpmyadmin

  apache2 を選択  設定 dbconfig-common ?  いいえ を選択

/etc/phpmyadmin/apache.conf  編集   # Autorize for setup の下のRequire valid-user の上に Require ip 127.0.0.1 10.0.0.0/24  を記入

 </IfModule>
        Require ip 127.0.0.1 10.0.0.0/24
         Require valid-user
    </IfModule>

apache2 の再起動  sysemctl restart apache2 など

 

タグ: 

オープンソースソフトウェア: