LoginSignup
5
2

More than 3 years have passed since last update.

【MySQL Workbench】Unknown table 'COLUMN_STATISTICS' in information_schema (1109)が発生

Last updated at Posted at 2019-08-22

はじめに

久しぶりにMySQLWorkbenchでDumpを出力しようとしたら、表題のエラーが発生。
対処方法を調べたら英語のページしか見つからなかったので、自分記録用に記事を書いてみた。

発生したエラー

mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM,
'$."number-of-buckets-specified"') FROM
information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = 'スキーマ名' AND
TABLE_NAME = 'テーブル名';':
Unknown table 'COLUMN_STATISTICS' in information_schema (1109)

information_schema スキーマに「COLUMN_STATISTICS」というテーブルが無いと怒られた。

対象方法

MySQL Workbench 8.0の場合、データのエクスポートが正常に行われないケースがあるらしい。

まずはWorkbenchのバージョン確認

確認方法

1.MySQL Workbenchを起動する
2.画面上部の「Help」メニューを開く
3.「About Workbench」を選択
4.バージョンが表示される『Workbench バージョン番号』

MySQL Workbench 8.0でした。

設定変更手順

1.MySQLWorkbenchを起動する
2.画面上部「Server」メニューを開く(Managementタブを開いてもいい)
3.「Data Export」を選択
4.右上の「「Advanced Options...」をクリック

設定画面.png

5.Other の中にある「column-statics -Writing……(set 0 to diasble).」を"0"に設定
設定画面_設定場所.png

更新・設定反映ボタンは特になかったので[<Return]で戻った。

再度エクスポート

エクスポート正常終了したのでOK

コマンドで実行する時は

mysqldumpオプションに「--column-statistics=0」を追加すればよいらしい。

mysqldump --column-statistics=0 --host=<server> --user=<user> --password=<password> 

まとめ

mysqldump 8.0.2で新しく追加されたオプション[--column-statistics]
これが古いバージョンだと対応できずにエラーが発生したのでは?と推測できる。

公式でオプションの内容を調べたが、正直どういう使い方をするためのオプションなのか、その優位性を理解するまでには至らなかったので、古い(ver8.0以下)MySQLを使用するケースがある方はデフォルト「0」に設定しておいてとりあえずは問題ないだろう。

参考

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2