执行task write()时出错参数必须是str,而不是bytes | MySQL Workbench

执行task write()时出错参数必须是str,而不是bytes | MySQL Workbench,mysql,mysql-workbench,Mysql,Mysql Workbench,当我开始使用MySQL workbench时,在干净地安装了Windows 10之后,我在尝试转储数据库时出现了这个错误 我在任何地方都找不到关于它的任何东西,我唯一发现的是phyton的问题,但与Workbench无关 转储数据库后的输出: 08:29:00 Dumping foo(all tables) Error executing task write() argument must be str, not bytes 08:29:01 Export of b'C:\\Users\\er

当我开始使用MySQL workbench时,在干净地安装了Windows 10之后,我在尝试转储数据库时出现了这个错误

我在任何地方都找不到关于它的任何东西,我唯一发现的是phyton的问题,但与Workbench无关

转储数据库后的输出:

08:29:00 Dumping foo(all tables)
Error executing task write() argument must be str, not bytes
08:29:01 Export of b'C:\\Users\\erick\\Documents\\dumps\\Dump20210121 (2).sql' has finished

输出文件为空,有什么想法吗?

如果您有最新的MySQL工作台(8.0.23),只需卸载并安装MySQL工作台8.0.20即可。这对我很有用。

这个问题的另一个解决办法是编辑

转储到\u文件夹中
(行)替换

self.out\u管道=打开(路径“w”)

self.out\u管道=打开(路径“wb”)
转储到\u文件中
(行)替换

self.out\u管道=打开(self.path,“w”)

self.out\u管道=打开(self.path,“wb”)

您可以禁用(取消选中)选项创建架构。这很烦人,但很管用。

我正在使用Linux Mint 20.1,降级解决了这个问题。对我很有帮助。谢谢这解决了我的问题。谢谢已在Windows版本的Workbench上解决。在版本8.0.23中刚刚出现此问题,并已更新到8.0.25(当前为最新版本)。现在问题消失了,导出创建得很好(使用CREATE语句)MySql工作台充满了惊喜如此烦人:整个备份在目标系统上失败,因为“错误1049(42000):未知数据库”因为没有创建模式。我必须在两行中将
w
更改为
wb
self.out\u管道=打开(路径,“w”)
内部函数
转储到文件夹()
self.out\u管道=打开(self.path,“w”)
内部函数
转储到文件()
@carlosrafelgn这正是我在回答中提到的函数;)你确实是对的!我只是添加了注释来帮助那些忽略行号的人(就像我一样),按了两次“查找下一个”,结果只找到了一个匹配项,因为在一行上我们打开了
(路径,“w”)
,而在另一行上我们打开了
(self.path,“w”)
@carlosrafelgn你肯定是对的,我编辑了答案:)