无法从mysql工作台导出我的数据库

the*_*ial 28 mysql database export mysql-workbench

嘿家伙我想从mysql工作台导出我的数据库,但我得到了导出进度:

运行:mysqldump.exe --defaults-file ="c:\ users\user\appdata\local\temp\tmp2h91wa.cnf"--user = root --host = localhost --protocol = tcp --port = 3306 - -default-character-set = utf8 --skip-triggers"mydb"mysqldump:无法执行'SELECT COLUMN_NAME,
JSON_EXTRACT(HISTOGRAM,'$."number-of-buckets-specified"')
FROM information_schema.COLUMN_STATISTICS SCHERE_NAME ='mydb'AND TABLE_NAME ='courses';':information_schema中的未知表'column_statistics'(1109)

使用exitcode 2操作失败20:55:09导出C:\ Users\user\Documents\dumps\mydb.sql已完成1个错误

你知道可能出了什么问题吗?谢谢

小智 34

在MySql Workbench 8.0.13版中,执行以下步骤:

  1. 转到管理/数据导出
  2. 在"要导出的表"列表中选择要导出的模式
  3. 点击"高级选项..."按钮(右上角)
  4. 搜索"其他/列统计"选项
  5. 将值设置为0
  6. 点击"返回"按钮(右上角)

现在它应该工作.不幸的是,每次启动MySql Workbench时都必须这样做.

  • 我的工作台没有此选项,可能是因为生产数据库为5.x版本,而我使用的是8.x。有什么方法可以激活mysqldump.exe 8.x和MySQL Server 5.x之间的兼容模式吗? (7认同)
  • 看来这不是最新版本中的选项。ThatGuyRob提到的错误跟踪器问题说,他们添加了一个弹出警告,其中包含有关如何解决此问题的说明,这在Artem的答案中进行了描述。 (2认同)
  • 如[此其他MySQL错误报告](https://bugs.mysql.com/bug.php?id=94294)中所述,WorkBench 8.0.14和8.0.15的此问题将在8.0.16版中修复。 (2认同)

Sha*_*rpC 30

总结一下我从 @JustinLaureno 和 @Mohd.Shaizad 的有用评论中所做的工作,在 MySQL Workbench 8.0.18 上进行了测试:

  • 导航 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)
  • 到:
skip_column_statistics = True
Run Code Online (Sandbox Code Playgroud)
  • 不要添加内联注释,否则将不起作用!
 skip_column_statistics = True # This won't work
Run Code Online (Sandbox Code Playgroud)
  • 重启 MySQL 工作台
  • 执行导出


小智 27

也碰到了这个问题。决定如下:在“工作台”菜单中,转到:

编辑-首选项-管理

在“ mysqldump工具的路径” 字段中,指定mysqldump.exe的路径,在我的情况下为“ C:\ Program Files \ MySQL \ MySQL Server 5.7 \ bin \ mysqldump.exe ”,单击“确定”。

此后,错误不再出现。

  • 这是现在的正确答案,因为它与添加到尝试执行导出时收到的弹出警告中的说明相匹配,该说明是在 MySQL Workbench 8.0.13 中添加的。 (3认同)
  • 这适用于MySQL Workbench 8.0.15 (2认同)

小智 8

wb_admin_export.py我在而不是评论中发现了这种情况--column-statistics=0。您可以删除该else False条件,或将其更改为else True

skip_column_statistics = True if get_mysqldump_version() > Version(8,
0, 2) and self.owner.ctrl_be.target_version < Version(8, 0, 0) else
True
Run Code Online (Sandbox Code Playgroud)


Sun*_*iki 7

我也遇到了同样的问题。通过禁用MySQL Workbench Data Export的高级选项中的列统计信息,我可以解决此问题。

1:单击高级选项: 在此处输入图片说明

2:在其他部分的列统计信息中,删除TRUE并将其设置为0以将其禁用。 在此处输入图片说明

现在返回并导出数据。谢谢


Mat*_*cki 6

5分钟前我遇到了同样的问题。

我通过添加mysqldump命令来修复它--column-statistics=0。做到这一点,它应该工作。

就我而言,这是一个侦查任务,但您应该了解一下。

在此处输入图片说明


Ami*_*esh 5

这是由于默认情况下在mysqldump 8中“启用”了一个标志。

可以通过添加--column-statistics = 0来禁用它。

句法 :

mysqldump --column-statistics=0 --host=<server> --user <user> --password <securepass> 
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请转到链接

要默认禁用列统计信息,您可以添加

[mysqldump]
column-statistics=0
Run Code Online (Sandbox Code Playgroud)

到MySQL配置文件,例如/etc/my.cnf或〜/ .my.cnf。


小智 5

我有同样的问题,我这样解决了:

编辑工作台首选项:编辑->首选项->管理

在属性“ mysqldump工具的路径”中放置mysqldump.exe的路径。通常在“ C:\ Program Files \ MySQL \ MySQL Server 5.7 \ bin \ mysqldump.exe”中找到


小智 5

Bug仍在Workbench 8.0.16中。

固定:

您可以在工作台程序目录中的模块下编辑wb_admin_export.py。搜索“ skip_column_statistics = True”(您将发现有条件的,不用担心),注释该行并添加一行“ skip_column_statistics = True”(无条件)。

现在将始终添加必需的参数。