mysqlworkbench giving version error on exporting database
PhpMysqlExportMysql WorkbenchPhp Problem Overview
When I try to export my database through MySQL Workbench remotely from localserver,
I am getting some below version error:
>mysqldump Version Mismatch [Content] mysqldump.exe is version 5.5.16, but the MySQL Server to be dumped has version 5.6.10-log. Because the version of mysqldump is older than the server, some features may not be backed up properly. It is recommended you upgrade your local MySQL client programs, including mysqldump to a version equal to or newer than that of the target server. The path to the dump tool must then be set in Preferences -> Administrator -> Path to mysqldump Tool
I am trying to find a solution - I searched for solution on google but couldn't find a good answer to solve the issue.
Does anyone know, how to fix this issue in MySQL Workbench?
Php Solutions
Solution 1 - Php
Go to: Edit
-> Preferences
-> Administrator
-> Path to Mysqldumptool
:
Look for file mysqldump.exe
in your MySQL Server installation folder (it could be: mysql/bin/
).
Then click it, and OK
. After that try to do the backup.
Solution 2 - Php
Fortunately, although not obvious, there is a fairly straightforward solution. You just need to update the mysqldump.exe
. The up to date version of the .exe
file can be found in. To solve the issue just go to Edit->Preferences->Administrator
, and browse the following path
C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqldump.exe
grab this file and replace it at the Path to mysqldump tool
textbox
There may be the following path is set before the above mentioned before, so just replace it with the newer one
C:\Program Files\MySQL\MySQL Workbench CE 5.2.47\mysqldump.exe
The paths may be slightly different for you, but the solution remains the same.
In some OS(64bit), there are two folders
C:\Program Files (x86)\MySQL
and
C:\Program Files\MySQL
But you have to go for C:\Program Files\MySQL
Hope it will help :)
Solution 3 - Php
In Linux-based like Ubuntu, Edit > Preferences... > Administration (tab), set "Path to mydqldump Tool" to /usr/bin/mysqldump (most likely by default that's where it suppose to be).
If you're not sure, you can try to find where is the mysqldump located by running the following command in terminal:
locate mysqldump
Solution 4 - Php
The message says you need a newer mysqldump tool. One that matches the server you want to dump from. So depending on the platform you are running get a copy of the mysqldump tool from a server installation that has a recent version. Each server comes with a mysqldump tool. So it should be easy to get a copy.
Put the tool in a location where it has a persistent home, but does not conflict with other instances, and point MySQL Workbench at it (as the message says).
Solution 5 - Php
I was trying to solve this issue with the default mysqldump using Edit > Preferences... > Administration (tab)
, and setting from /usr/bin/mysqldump
which did not work.
I saw that XAMPP server has a mysqldump file too which worked fine! Generally, you can find it in /opt/lampp/bin/mysqldump
(for Debian and similar) so you can use this path in your preferences inside workbench.
Solution 6 - Php
On my Mac, (running latest Mac OS Sierra), I changed the path of mysqldump to /Applications/XAMPP/xamppfiles/bin/mysqldump, and that solved the problem. Previously, the path was set to a different version (older version) of mysqldump. So, you need to get the newest version of mysqldump.
Solution 7 - Php
This occurs when the version of your mysql workbench is different than that of your mysql server. Solution to this is to use mysqldump.exe having version same as that of your server for taking the export/dump. Steps :
- Download the mysql zip of the same version as your server. (eg. mysql-5.7.25-winx64.zip)
- Inside this zip you will find mysqldump.exe under bin folder.
- Open the Mysql workbench. Go to Edit -> Preferences -> Administration.
- Now, in Path to mysqldump Tool :, give the path of this downloaded mysqldump.exe
Solution 8 - Php
I did take an archive for mysql version of need from here https://downloads.mysql.com/archives/community/
And used from there mysqldump. It helped for me.
Solution 9 - Php
As these answers are not totally clear for Mac users this is where I found my MySQLDump file:
Applications > MAMP > Library > bin > mysqldump
A quick search of 'mysqldump' should locate this. I followed the above answers and go to:
Preferences > Administation > Path to mysqldump Tool:
This was my path in there now: /Applications/MAMP/Library/bin/mysqldump
Solution 10 - Php
The solution that worked for me is the following:
-
enter the page https://www.pconlife.com/viewfileinfo/mysqldump-exe/ there is a list of mysqldump.exe files, they must download the version that matches the one that appears in the error.
-
then go to the folder where mysql is installed usually C: \ Program Files \ MySQL \ MySQL Workbench 8.0 CE There they put the downloaded file, and they give it replace.
-
now open MySQL they will change the path that appears in: Preferences> Administration> Path to mysqldump tool: by the address where the replaced file was
that's all
Solution 11 - Php
wb_admin_export.py (used by mysqldump) looks at PATH variable to find mysqldump and get version number. make sure its mysqldump from mysql bundle, not mysql workbench...
Solution 12 - Php
Mac user here: I had this problem after updating MySQLWorkbench. Tried everything.... at last, I downloaded the old version back and downgraded MySQLWorkbench. Worked flawlessly.
Solution 13 - Php
For Mac users, it works only after restarting Mysql Workbench, after setting Path to Mysqldumptool in settings (Edit - Preferences - Administrator ).
Solution 14 - Php
None of the other answers here has worked for me, so I'll post another way that has fixed mine(I'm using Windows WSL Ubuntu 18.04).
TL;DR: check if you have the line local_infile=1
in the configuration file of your MySQL and change it to loose-local-infile=1
or comment it out altogether if you don't need it now and then restart your MySQL Workbench.
Further Explanation: I closed MySQL Workbench and opened up my terminal and ran mysqldump --version
and it gave me this error: mysqldump: [ERROR] unknown variable 'local_infile=1'.
, I realized that I'd added something to the /etc/my.cnf
file previously in order to import some data into a database using a local file, but as it turns out, some other MySQL tools (such as mysqldump, probably) do not understand this line well, so I commented it out and then mysqldump --version
works fine and gives the correct version number without any other issues. Now I open the MySQL Workbench once again and this time it's working fine.
HTH.
Solution 15 - Php
If none of the above solutions worked the version of mysqldump can be hardcoded in wb_admin_export.py
def get_mysqldump_version():
#path = get_path_to_mysqldump()
#if not path:
# log_error("mysqldump command was not found, please install it or configure it in Edit -> Preferences -> Administration")
# return None
#
#output = StringIO.StringIO()
#rc = local_run_cmd('"%s" --version' % path, output_handler=output.write)
#output = output.getvalue()
#
#if rc or not output:
# log_error("Error retrieving version from %s:\n%s (exit %s)"%(path, output, rc))
# return None
#
#regexp = ".*Ver ([\d.a-z]+).*"
#if ("Distrib" in output):
# regexp = ".*Distrib ([\d.a-z]+).*"
#
#s = re.match(regexp, output)
#
#if not s:
# log_error("Could not parse version number from %s:\n%s"%(path, output))
# return None
#
#version_group = s.groups()[0]
#major, minor, revision = [int(i) for i in version_group.split(".")[:3]]
#return Version(major, minor, revision)
return Version(5, 7, 30)
Only this worked for me: Workbench on windows and Mysql server on a remote linux.
Solution 16 - Php
I had to make a local copy of my remote database and was facing MySQLWorkbench´s version problems. In order to avoid reinstall MySQLWorkbench to adapt to the remote database version, I did next:
-
I exported my database from the remote server into /home/my-user/ folder (on remote server) using ssh:
root@bananapi# mysqldump -u root -p my-incredible-password > /home/my-user/database-dump-18-set-2020.sql
-
Having the sql script in /home/my-user/ remote directory I download it in my local folder using scp command:
my-user % scp root@remote-server-ip-address:/home/my-user/database-dump-18-set-2020.sql /Users/my-mac-user/tmp/
The I just had to open the sql script file using my MySQLWorkbench and import the data in my local database. I hope this can help somebody.
Solution 17 - Php
A possible solution is to create a script that runs mysqldump with the flag --column-statistics=0, then configure Workbench to point to the script:
@ECHO OFF "C:\Program Files\MySQL\MySQL Workbench 8.0 CE\mysqldump.exe" %* --column-statistics=0