问题
今天在使用Mysqldump的时候mac报错1109,查询本机Mysql版本后发现问题。
mysql --version
mysql Ver 8.0.22 for osx10.15 on x86_64 (Homebrew)
在StackFlow上查到问题:mysqldump throws: Unknown table ‘COLUMN_STATISTICS’ in information_schema (1109)
原因
mysqldump 8中默认启用了一个新标志
在mysql8.0之前的mysqldump命令格式为:
mysqldump --host=<server> --port=<port> --user <user> --password database > dump_file_path
mysql8.0以上版本此命令会报错 Unknown table ‘COLUMN_STATISTICS’ in information_schema (1109)
解决
此处需要添加新参数--column-statistics=0
,格式如下:
mysqldump --column-statistics=0 --host=<server> --port=<port> --user <user> --password > dump_file_path
如需设置默认参数,可修改mysql配置文件,添加如下参数:
[mysqldump]
column-statistics=0