MariaDBの削除
CentOS7以降はデフォルトでMariaDBがインストールされているためアンインストールする。
インストール確認
$ rpm -qa | grep maria
mariadb-libs-5.5.56-2.el7.x86_64
アンインストール、関連ディレクトリ削除
$ sudo yum remove mariadb-libs
$ sudo rm -rf /var/lib/mysql
MySQL install
リポジトリ追加
$ sudo rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
MySQL install
$ sudo yum install --enablerepo=mysql57-community mysql-community-server
バージョン確認
$ mysqld --version
mysqld Ver 5.7.21 for Linux on x86_64 (MySQL Community Server (GPL))
自動起動設定
$ sudo systemctl enable mysqld.service
起動
$ sudo service mysqld start
初期設定
パスワード設定
ログに出力されている初期パスワードを用いる。
$ cat /var/log/mysqld.log | grep 'password is generated'
2018-02-22T03:46:29.817769Z 1 [Note] A temporary password is generated for root@localhost: hogehoge
※ hogehoge 部分が初期パスワード
初期パスワードでログインする。
$ mysql -u root -phogehoge
新たなパスワードを設定。
※MySQL5.7から「大小英文字+数字+記号の4種を含んだ8文字以上」がパスワードの条件になった。
> SET PASSWORD = 'Password-0123' ;
一度ログアウトし、新たなパスワードでログイン確認。
> exit
$ mysql -u root -pPassword-0123
tmpディレクトリ作成
$ sudo mkdir -p /var/lib/mysqltmp
$ sudo chown mysql:mysql /var/lib/mysqltmp
$ sudo chmod 755 /var/lib/mysqltmp
MySQL 再起動
$ sudo service mysqld restart
補足
下記のようなエラーを出力して起動に失敗する事がある。
/var/log/mysqld.log
[ERROR] InnoDB: The Auto-extending innodb_system data file './ibdata1' is of a different size 768 pages (rounded down to MB) than specified in the .cnf file: initial 65536 pages, max 0 (relevant if non-zero) pages!
「DBファイルが不適切」との事なので、初回起動時に作られたファイルを削除してから再起動させる。
$ sudo rm -f /var/lib/mysql/ibdata1
$ sudo rm -f /var/lib/mysql/ib_logfile0
$ sudo rm -f /var/lib/mysql/ib_logfile1
$ sudo service mysqld restart
以上