Flo*_*yer 21 mysql mysql-workbench mysql-8.0
从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';':information_schema中的未知表'COLUMN_STATISTICS'(1109)
exitcode 2操作失败14:50:24导出C:\ path \到\ my\dump已完成1个错误
MySQL(Workbench)8中是否有任何方法可以column-statistics永久禁用?
一个恼人的解决方法是通过以下方式手动完成:
mysqldump --column-statistics=0 --host=...
Run Code Online (Sandbox Code Playgroud)
--column-statistics=0此脚本中的参数调用重命名的mysqldump例如,在MySQL Workbench中:编辑/首选项... /管理/ mysqldump工具的路径
提前致谢!
Tro*_*oyd 14
最简单的解决方案
使用Mysql Workbench 8.0时
祝你好运!
小智 10
我的解决方法:
@echo off
"c:\Program Files\MySQL\MySQL Workbench 8.0 CE\mysqldump.exe" %* --column-statistics=0
Run Code Online (Sandbox Code Playgroud)
(如有必要,请替换为mysqldump.exe的路径)
这个想法是这样的:每个服务器版本都有一个专用的 mysqldump 版本。不理想,当然也不是很向后兼容,但情况就是这样。MySQL Workbench 只能包含一个 mysqldump 二进制文件,因此使用最新的。从那里下载 MySQL 5.7 zip 并使用 mysqldump 的方法是一个很好的解决方法,没有很多副作用。您只需要小心使用哪个转储版本转储哪个服务器。
如果您希望 MySQL Workbench 自动应用该列统计标志,请在https://bugs.mysql.com提交错误报告。
更新
同时为这个问题创建了一个错误报告:https : //bugs.mysql.com/bug.php?id=91640
小智 5
我已经下载了 8.0.16 版本,还是同样的问题。
在数据导出高级选项中,我没有看到任何关于“统计”的选项!我在 my.ini 添加了
[mysqldump]
quick
max_allowed_packet = 16M
column-statistics=0
Run Code Online (Sandbox Code Playgroud)
不解决问题
我一直在谷歌搜索,但我找不到解决方案。我找到了一些正在为此苦苦挣扎的同伴,但至少对我来说没有找到解决方案的人。
最后,我更改了 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
Run Code Online (Sandbox Code Playgroud)
我已发表评论
if get_mysqldump...
Run Code Online (Sandbox Code Playgroud)
我知道这不是办法,但我现在找不到另一个更好的解决方案。对我来说,这至少是奇怪和奇怪的。如果有人有更好的解决方案,请告诉我!
PS 更改后重启 Workbench
小智 5
Windows 用户
我有MySQL Workbench 8.0CE 和 Xampp v3.2.3,这对我有用:
[mysqldump]
quick
max_allowed_packet = 16M
column-statistics = 0
Run Code Online (Sandbox Code Playgroud)
保存并关闭,重新启动xampp mysql服务器。(万一)
在工作台中: 编辑 > 首选项 > 管理
在 Mysqldump 路由中放置 xampp 的 mysqldump 路由,在我的例子中:
C:\xampp\mysql\bin\mysqldump.exe
Run Code Online (Sandbox Code Playgroud)
这对我有用!
| 归档时间: |
|
| 查看次数: |
15519 次 |
| 最近记录: |