故障:使用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。