Mysql
mysqldump 拋出:information_schema 中的未知表 ‘COLUMN_STATISTICS’ (1109)
每次我嘗試製作時
mysqldump
都會出現以下錯誤:$> mysqldump --single-transaction --host host -u user -p db > db.sql mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"') FROM information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = 'db' AND TABLE_NAME = 'Absence';': Unknown table 'COLUMN_STATISTICS' in information_schema (1109)
結果是一個不完整的轉儲。奇怪的是,從另一台主機執行的相同命令可以正常工作而不會引發任何錯誤。有人遇到過同樣的問題嗎?
我正在使用 mysql-client
8.0
並嘗試訪問 mysql5-7
伺服器 - 也許這就是原因?
這是由於在**
mysqldump
8**中預設啟用了一個新標誌。您可以通過添加來禁用它--column-statistics=0
。該命令將類似於:mysqldump --column-statistics=0 --host=<server> --user=<user> --password=<password>
檢查此連結以獲取更多資訊。要預設禁用列統計,您可以添加
[mysqldump] column-statistics=0
到 MySQL 配置文件,轉到
/etc/my.cnf
、~/.my.cnf
或直接到/etc/mysql/mysql.cnf
.
對於使用 MySQL Workbench 的使用者,Data Export 螢幕上有一個“Advanced Options”按鈕。可以通過設置為 0 禁用“使用列統計資訊”選項。
我尚未確認,但建議以下資訊也是正確的:在版本 8.0.14 中它失去了。在版本 8.0.16 中,它預設執行此操作。