自 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,'$。“指定的桶数”“)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
?
一个烦人的解决方法是通过以下方式手动完成:
mysqldump --column-statistics=0 --host=...
--column-statistics=0
参数调用重命名的mysqldump 例如在MySQL Workbench中:编辑/首选项... /管理/ mysqldump工具的路径
谢谢!
答案 0 :(得分:11)
答案 1 :(得分:3)
这个想法是这样的:每个服务器版本都有一个专用的mysqldump版本。这不是理想的,当然也不是向后兼容的,但这就是这种情况。 MySQL Workbench只能包含一个mysqldump二进制文件,因此使用最新的二进制文件。从那里下载MySQL 5.7 zip并使用mysqldump的方法是一个很好的解决方法,没有很多副作用。您只需要注意转储哪个服务器以及哪个转储版本即可。
如果您希望MySQL Workbench自动应用该列状态标志,请在https://bugs.mysql.com提交错误报告。
更新
与此同时,还创建了一个错误报告:https://bugs.mysql.com/bug.php?id=91640
答案 2 :(得分:1)
如果您正在运行支持mysqldump的操作系统(即Linux),则可能有另一种解决方法。在首选项中将路径设置为mysqldump二进制文件,并在该路径中包括--column-statistics = 0参数,位于: 编辑>>首选项>>管理>> MysqlDump工具的路径
答案 3 :(得分:1)
答案 4 :(得分:0)
我已经下载了8.0.16版本,仍然是同一问题。
在数据导出高级选项中,我没有看到有关“统计”的任何选项! 我在
的my.ini中添加了[mysqldump]
quick
max_allowed_packet = 16M
column-statistics=0
不能解决问题
我一直在搜索,但找不到解决方案。我找到了一个正在为此而苦苦挣扎的同伴,但至少没有一个解决方案的人至少对我而言。
最后,我更改了MySQL Workbench文件c:\ Program Files \ MySQL \ MySQL Workbench 8.0 CE \ modules \ wb_admin_export.py:
skip_column_statistics = True #if get_mysqldump_version() > Version(8, 0, 2) and self.owner.ctrl_be.target_version < Version(8, 0, 0) else False
我对
发表了评论if get_mysqldump...
我知道这不是办法,但现在找不到其他更好的解决方案。对我来说,这至少是怪异和奇怪的。如果有人有更好的解决方案,请告诉我!
答案 5 :(得分:0)
WINDOWS用户
我有 MySQL Workbench 8.0CE和Xampp v3.2.3 ,它对我有用:
[mysqldump]
quick
max_allowed_packet = 16M
column-statistics = 0
保存并关闭,重新启动xampp mysql服务器。 (以防万一)
在工作台中: 编辑>首选项>管理
在Mysqldump路由中,以您的xampp的mysqldump路由为例:
C:\xampp\mysql\bin\mysqldump.exe
这对我有用!
答案 6 :(得分:0)
我通过修改MySQL Workbench配置文件wb_admin_export.py
来解决此问题。
请参阅我的答案here。
答案 7 :(得分:0)
在 Mysql-workbench版本8.0.14 中,您无法选择禁用列统计。 但是您可以选择启用delete-master-logs 来做到这一点: https://stackoverflow.com/a/64855306/10747412
答案 8 :(得分:0)
打开 MySQL Workbench Preferences 并根据您的 xampp / mysql 服务器路径选择 Path to mysqldump Tool
MySQL Workbench 编辑 > 首选项 > 管理
<块引用>C:\xampp\mysql\bin\mysqldump.exe
就这样
答案 9 :(得分:0)
我使用的是 Ubuntu 16.04、MySql Workbench 6.3.6、MySql 8.0.25、MySqlDump 8.0.25。
我的解决方法如下:
s = re.match(".*Distrib ([\d.a-z]+).*", output)
与
s = re.match(".*mysqldump Ver ([\d.]+).*", output)
cmd = subprocess.list2cmdline(args)
与
args.append("--column-statistics=0")
cmd = subprocess.list2cmdline(args)