この記事を参考にCentOS6のMySQL 5.1を5.7にアップグレードした。
とてもあっさりと完了したが、MySQLが起動しなくなってしまった。
/var/log/mysql.logに下記のエラーが残されていた。
2021-04-04T17:38:13.068591Z 0 [ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade.
2021-04-04T17:38:13.068623Z 0 [ERROR] Fatal error: Failed to initialize ACL/grant/time zones structures or failed to remove temp
orary table files.
2021-04-04T17:38:13.068667Z 0 [ERROR] Aborting
“Fatal error: mysql.user table is damaged.”でググったところPlesk先生の回答を発見。
/etc/my.cnfを編集
[mysqld]直下に skip-grant-tables の1行を追加してmysqldを起動させる。
mysqldが起動したらmysql_upgradeを実行
upgradeが完了したらservice mysqld restartyでmysqlを再起動