サーバー設定手順 3. MySQLの設定

どのバージョンを利用するかは要件によって異なるが、 新規のサービスであればmysql8.0を入れてしまいましょう

インストール

# yum list available | grep mysql

インストールできるものが見つからないかもしれない。その場合は下記を実行

# yum install http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
  • インストール
# yum install mysql-community-server

確認等

バージョン

# mysqld --version
/usr/sbin/mysqld  Ver 8.0.12 for Linux on x86_64 (MySQL Community Server - GPL)

常時起動設定

linux起動時にmysqldも起動するようにするには

# systemctl enable mysqld.service

systemctl status mysqld.service で常時起動がenabledになっていることを確認する。

初回起動をしたのち、パスワードの設定をする

初回起動

# systemctl start mysqld.service

初回起動時にログに仮パスワードが設定される。

# cat /var/log/mysqld.log | grep password
2018-08-12T19:42:09.576512Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: yiodd,erh6F>

yiodd,erh6F> とあるのでこれをメモしておく。

パスワードの強度の設定の変更

バージョンの高いmysqlでは簡単なパスワード(文字数が少ない, 数字や記号が含まれていないなど)を設定することができないため、 あらかじめ設定で強度の低いパスワードでも設定できるようにする。(本来は設定しないけど)

  • 設定ファイル my.cnf の場所を調べる
# mysql --help | grep my.cnf

おそらく /etc/my.cnf であると思う。そのファイルの下の方に

validate_password.policy=LOW

と記述する。

パスワードを変更する

# mysql_secure_installation

先ほどメモしたパスワード、新しいパスワードを入力(今回はpasswordとした)。その他、色々設定

Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n (本来はyの方が良い)
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y