CentOSでMySQLをアップデートする(例:MySQL 5.7)

公式から最新のレポジトリの追加。

sudo rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm

CentOSのバージョンに合ったものを選んでください。

https://dev.mysql.com/downloads/repo/yum/

中身を見てみる。

sudo vi /etc/yum.repos.d/mysql-community.repo

enable=1が更新対象になるMySQLになります。

DBサーバーをサーバーを一旦止めます。

sudo service mysqld stop

更新します。

sudo yum update mysql-server

更新が完了したらDBを起動します。

sudo service mysqld start

エラー発生・・・

Fatal error: mysql.user table is damaged. Please run mysql_upgrade.

mysql_upgradeしてくださいと言われている気がします。。

セーフモードで起動。

/usr/bin/mysqld_safe --skip-grant-tables &

テーブルをアップグレード。

mysql_upgrade -u root -p

なんちゃらOKみたいなのがたくさん出てきて最後に

Upgrade process completed successfully.
Checking if update is needed.

と出てきたら完了です。

MySQLを再起動して動作を確認しましょう。

sudo service mysqld restart