MySQL8客户端对MySQL5.7服务端执行导出报错(1109)

2022年3月26日 789点热度
故障:使用mysql-client-core-8.0客户端操作MySQL5.7数据库,会报错
执行# mysqldump -uuser -ppassword blog_wp > ./test.sql  --host=127.0.0.1 --port=3306
报错信息如下:
mysqldump: Couldn't execute 'SELECT COLUMN_NAME,                       JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"')                FROM information_schema.COLUMN_STATISTICS                WHERE SCHEMA_NAME = 'blog_wp' AND TABLE_NAME = 'wp_blc_filters';': Unknown table 'COLUMN_STATISTICS' in information_schema (1109)
原因:这是由于在 mysqldump 8 中默认启用了一个新标志。
解决:可以通过添加 --column-statistics=0 来禁用它。该命令将类似于:
mysqldump --column-statistics=0 --host=<server> --user=<user> --password=<password> 
    例如# mysqldump -uuser -ppassword blog_wp > ./test.sql  --host=127.0.0.1 --port=3306 --column-statistics=0
    要默认禁用列统计信息,您可以添加
[mysqldump]
column-statistics=0
到 MySQL 配置文件,例如 /etc/my.cnf 或 ~/.my.cnf。

SSJ

不积跬步无以至千里