从MySQL 8开始,默认情况下启用该column-statistics
标志。
因此,如果您尝试使用MySQL Workbench 8.0.12 转储一些表,您会收到以下错误消息:
14:50:22 Dumping db (table_name) Running: 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';': information_schema (1109) 中的未知表 'COLUMN_STATISTICS'
操作失败,退出代码 2 14:50:24 C:\path\to\my\dump 的导出已完成,出现 1 个错误
MySQL (Workbench) 8 中有什么方法可以column-statistics
永久禁用吗?
解决方法 1
一个烦人的解决方法是通过以下方式手动完成:
mysqldump --column-statistics=0 --host=...
解决方法 2
- 重命名 mysqldump
- 创建一个shell 脚本(或 Windows 上的批处理)
--column-statistics=0
使用此脚本中的参数调用重命名的 mysqldump- 将其保存为 mysqldump
解决方法 3
- 下载MySQL 5.7
- 提取 mysqldump
- 使用这个 mysqldump
例如在 MySQL Workbench 中:Edit / Preferences... / Administration / Path to mysqldump Tool
提前致谢!