mysql5.6にアップデートして、mysqldumpを実施すると、以下のエラーとなった。
[html]$ mysqldump -uroot -pxxxxxxx testDB test_table > testDB.sql
mysqldump: Couldn’t execute ‘SET OPTION SQL_QUOTE_SHOW_CREATE=1’: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘OPTION SQL_QUOTE_SHOW_CREATE=1’ at line 1 (1064)
[/html]
何のことだろう。
調べてみると、、、MySQLクライアントとMySQLサーバでバージョンが違う場合に起きるエラーでした。
MySQL5.5までは、mydqldump の中で内部的に SET OPTION SQL_QUOTE_SHOW_CREATE=1を利用していた模様。しかし、5.6になって、「SET OPTION 〜」 という構文は廃止になったために、この差分でエラーになるみたいです。
参考
MySQL Bugs: #67507: mysqldump from 5.5 fails with an error when trying to dump data from mysql-5.6
エラー&課題 ― こうやって解決! — mysqldump: Couldn’t execute ‘SET OPTION…
解決には、サーバとクライアントのバージョンを揃えるのが一番です。クライアントを入れ直しましょう。
[amazonjs asin=”4873116384″ locale=”JP” title=”実践ハイパフォーマンスMySQL 第3版”]