Bug #66863 mysqldiff and mysqldbcompare Fail
| Submitted: | 18 Sep 2012 22:34 | Modified: | 24 May 2013 19:49 |
|---|---|---|---|
| Reporter: | Muiz Motani | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Utilities | Severity: | S2 (Serious) |
| Version: | 5.2.43 | OS: | MacOS (10.6.8) |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | mysqldbcompare, mysqldiff | ||
[21 Sep 2012 13:54]
Chuck Bell
Please include the command you used to launch the utilities so that we can successfully repeat this error.
[4 Oct 2012 22:30]
Elan Ruusamäe
the problem is that the code refers to .name which does not exist
error is triggered if client connects to server which version is older than client:
./mysql/utilities/common/server.py :
330 if not _require_version(source, version):
331 raise UtilError("The %s version is incompatible. Utility "
332 "requires version %s or higher." %
333 (source.name, version))
the source.name is what gives the AttributeError
it happpens with mysql-utilities 1.1.0 as well (mysql workench 5.2.44)
[4 Oct 2012 22:49]
Elan Ruusamäe
not sure what was intended there in the code, but so far i made it print server.host: http://git.pld-linux.org/?p=packages/mysql-utilities.git;a=blob;f=bug-66863.patch;h=21ba25...
[4 Oct 2012 22:51]
Elan Ruusamäe
now prints instead of python exception: $ mysqldiskusage --server=mysql@elfride:3306 -vvv # Source on elfride: ... connected. Usage: mysqldiskusage --server=user:pass@host:port:socket db1 --all mysqldiskusage: error: The elfride version is incompatible. Utility requires version 5.1.30 or higher.
[24 May 2013 19:49]
Chuck Bell
Fixed in release-1.1.1
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.053 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: The mysqldiff and mysqldbcompare utilities both fail with "AttributeError: 'Server' object has no attribute 'name'". The complete traceback is: # server1 on 192.168.0.117: ... connected. Traceback (most recent call last): File "/Applications/MySQLWorkbench.app/Contents/Resources/scripts/mysqldbcompare", line 160, in <module> parts[0], parts[1], options) File "/Applications/MySQLWorkbench.app/Contents/Resources/libraries/mysql_libs.zip/mysql/utilities/command/dbcompare.py", line 414, in database_compare File "/Applications/MySQLWorkbench.app/Contents/Resources/libraries/mysql_libs.zip/mysql/utilities/common/dbcompare.py", line 186, in server_connect File "/Applications/MySQLWorkbench.app/Contents/Resources/libraries/mysql_libs.zip/mysql/utilities/common/server.py", line 333, in connect_servers AttributeError: 'Server' object has no attribute 'name' How to repeat: execute a mysqldiff or mysqldbcompare on two databases on the same server