执行task write()时出错参数必须是str,而不是bytes | MySQL Workbench
当我开始使用MySQL workbench时,在干净地安装了Windows 10之后,我在尝试转储数据库时出现了这个错误 我在任何地方都找不到关于它的任何东西,我唯一发现的是phyton的问题,但与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
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你肯定是对的,我编辑了答案:)