自从MySQL 8,默认启用了column-statistics
标志。
因此,如果您尝试使用MySQL Workbench 8.0.12转储表格,则会收到此错误消息:
14:50:22 转储db (table_name) 正在运行:mysqldump.exe --defaults-file="c:\users\username\appdata\local\temp\tmpvu0mxn.cnf" --user=db_user --host=db_host --protocol=tcp --port=1337 --default-character-set=utf8 --skip-triggers "db_name" "table_name" mysqldump:无法执行“SELECT COLUMN_NAME,JSON_EXTRACT(HISTOGRAM,'$."number-of-buckets-specified"')FROM information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME ='db_name' AND TABLE_NAME ='table_name';':信息模式中未知的表' COLUMN_STATISTICS'(1109)
操作失败,退出码为2 14:50:24 C:\path\to\my\dump 的导出已完成,有1个错误
在 MySQL (Workbench) 8 中是否有永久禁用column-statistics
的方法?
解决方法1
一个烦人的解决方法是手动执行以下操作:
mysqldump --column-statistics=0 --host=...
解决方法2
- 重命名mysqldump
- 创建一个脚本(在Windows上为batch)
- 在此脚本中使用
--column-statistics=0
参数来调用重命名的mysqldump - 将其保存为mysqldump
解决方法3
- 下载MySQL 5.7
- 提取mysqldump
- 使用此mysqldump
例如,在MySQL Workbench中:编辑/首选项.../管理/路径到mysqldump工具
提前感谢!