MySQLをアップグレード後繋がらなくなった場合の対処

2019-04-23

MySQLをアップグレード後、接続できない

「yum update mysql」を叩いて、MySQLをアップグレードしたらMySQLに繋がらくなりました。
エラーログには以下のエラーが出力されてます

170405 14:26:23 [ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it
170405 14:26:23 [ERROR] Native table 'performance_schema'.'events_waits_current' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'events_waits_history' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'events_waits_history_long' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'setup_consumers' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'setup_instruments' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'setup_timers' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'performance_timers' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'threads' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'events_waits_summary_by_thread_by_event_name' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'events_waits_summary_by_instance' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'events_waits_summary_global_by_event_name' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'file_summary_by_event_name' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'file_summary_by_instance' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'mutex_instances' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'rwlock_instances' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'cond_instances' has the wrong structure
170405 14:26:23 [ERROR] Native table 'performance_schema'.'file_instances' has the wrong structure

このエラーですが、MySQLにデータベースのテーブルと、MySQL サーバーの現在のバージョンの互換性をチェックしており、バージョンアップによりデータベースのテーブルとMySQLのバージョンが不意一致しているのでエラーとなっているようです。
詳しくは、公式のMySQL 5.6 リファレンスマニュアル 「mysql_upgrade — MySQL テーブルのチェックとアップグレード」で確認してください

MySQLをアップグレード後、接続できない場合の対処

対処策は「mysql_upgrade」を実行すればMySQLのテーブルがバージョンアップされ接続できるようになります

$ sudo mysql_upgrade -u root -p
Enter password:
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck with default connection arguments
Warning: Using a password on the command line interface can be insecure.
Running 'mysqlcheck with default connection arguments
Warning: Using a password on the command line interface can be insecure.
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK

 

スポンサーリンク