Description:
On attempt to store a dump from remote database to a folder the following error appears
"Error executing task write() argument must be str, not bytes"
And the folder with empty file is created.
/var/log/syslog excerpt:
Jan 22 11:06:48 dh-laptop mysql-workbench.desktop[7474]: Traceback (most recent call last):
Jan 22 11:06:48 dh-laptop mysql-workbench.desktop[7474]: File "/usr/lib/mysql-workbench/modules/wb_admin_export.py", line 315, in run
Jan 22 11:06:48 dh-laptop mysql-workbench.desktop[7474]: pipe = task.make_pipe()
Jan 22 11:06:48 dh-laptop mysql-workbench.desktop[7474]: File "/usr/lib/mysql-workbench/modules/wb_admin_export.py", line 1782, in <lambda>
Jan 22 11:06:48 dh-laptop mysql-workbench.desktop[7474]: task = self.TableDumpData(schema,table, args, lambda schema=schema,table=table:self.dump_to_folder(schema, table, include_schema))
Jan 22 11:06:48 dh-laptop mysql-workbench.desktop[7474]: File "/usr/lib/mysql-workbench/modules/wb_admin_export.py", line 1684, in dump_to_folder
Jan 22 11:06:48 dh-laptop mysql-workbench.desktop[7474]: self.out_pipe.write(data)
Jan 22 11:06:48 dh-laptop mysql-workbench.desktop[7474]: TypeError: write() argument must be str, not bytes
How to repeat:
start MySQL workbench
connect to database
go to 'Server'->'Data Export'
select some schemas to export
press 'Start Export' button
the error appears
Suggested fix:
File "/usr/lib/mysql-workbench/modules/wb_admin_export.py", Line 1679 opens file in write text I/O mode:
self.out_pipe = open(path,"w")
looks like it should be binary:
self.out_pipe = open(path,"wb")