こんにちは、お読みいただきありがとうございます。 ケン(@gootablog)です。
僕は個人のブログ(WordPress)の開発環境をDockerで作っています。そしてデプロイやバックアップをとるのには、とても便利なWordmoveというツールを使っています。
そんな環境でmysqldumpコマンドでバックアップを取ろうと思って実行するとmysqldump: Couldn't execute 'SELECT COLUMN_NAME, ...
というエラーメッセージが表示され実行できませんでした。
その解決法を残しておきます。
環境
- MySQL(docker) ver5.7
- リモートの MySQL ver5.7
- MacのローカルMySQL ver8.0.16
解決方法
--column-statistics=0
というフラグを付けるだけです。ex) mysqldump --host=127.0.0.1 --user=*** --password=*** --column-statistics=0
Mysql8でこのフラグが追加されてデフォルトで有効になっています。その状態でver5のMySQLのダンプをしようとすると発生するようです。
WordmoveはDockerではなくローカルのver8を実行していたのでこのような現象になっていました。