※この記事はQiitaに2017年12月26日に投稿したものと同一です。
databaseのバッグアップを取ろうとして一旦sqlファイルに落とそうとしたら、MySQLから次のようなエラーが出ました。
$ mysqldump -uroot -p hogehoge >hogehoge.sql Enter password: mysqldump: Couldn't execute 'SHOW VARIABLES LIKE 'gtid\_mode'': Table 'performance_schema.session_variables' doesn't exist (1146)
むむむっ!? エラー文言を読む限り「テーブルの構造が違うぞ」ってことみたいですが、 ググったところ、これはMySQL自体をUpgradeすれば解決するようです。
$ mysql_upgrade -u root -p Enter password: Checking if update is needed. Checking server version. Running queries to upgrade MySQL server. Checking system database. (~~~中略~~~) Upgrade process completed successfully. Checking if update is needed.
終わったら再トライ。
$ mysqldump -uroot -p hogehoge >hogehoge.sql Enter password: mysqldump: Couldn't execute 'SHOW VARIABLES LIKE 'gtid\_mode'': Native table 'performance_schema'.'session_variables' has the wrong structure (1682)
今度もまた似たようなエラーですが今度はwrong structure
と出ています。
とりあえずMySQL Server自体を再起動します。
$ mysql.server stop Shutting down MySQL .. SUCCESS! $ mysql.server start Starting MySQL . SUCCESS! $ mysqldump -uroot -p hogehoge >hogehoge.sql Enter password:
今度は無事成功しました。yattaze!!