mysqldiff utility in MySQL
mysqldiff Compare object definitions among objects where the difference is how db1.obj1 differs from db2.obj2
mysqldiff utility reads the definitions of objects and compares them using diff method (like UNIX diff command) to determine whether MySQL database objects are the same or not. And displays the differences for objects which are not same.
mysqldiff --version
mysqldiff --server1=root@localhost employees:emp1
mysqldiff --server1=root@localhost --server2=root@host2:3308 employees.salaries:emp.salaries --difftype=differ
mysqldiff --server1=master --server2=slave masterdb:slavedb
mysqldiff --server1=master --server2=slave testdb:testdb --width=120
mysqldiff --server1=host1 --server2=host2 devdb.emp:devdb.emp -v
mysqldiff --server1=host1 --server2=host2 devdb.emp:devdb.emp -vvv
mysqldiff --server1=dba_master --server2=dba_slave --changes-for=server2 --force --difftype=sql testdb:testdb
mysqldiff --server1=prod_host:3306 --server2=dev_host:3306 --changes-for=server2 --force --difftype=sql testdb:testdb
mysqldiff --server1=root@host1 --server2=root@host2 --difftype=sql db1:db2
mysqldiff --server1=root@host1 --server2=root@host2 --difftype=context db1.table1:dbx.table3
mysql diff command options:
--version show program's version number and exit
--help display a help message and exit
--license display program's license and exit
--ssl-ca=SSL_CA path to a file that contains a list of trusted SSL CAs.
--ssl-cert=SSL_CERT name of the SSL certificate file to use for establishing a secure connection.
--ssl-key=SSL_KEY name of the SSL key file to use for establishing a secure connection.
--ssl=SSL specifies if the server connection requires use of SSL. If an encrypted connection cannot be established, the connection attempt fails. By default 0 (SSL not required).
--server1=SERVER1 connection information for first server in the form:
user[:password]@host[:port][:socket] or login-path[:port][:socket] or config-path[[group]].
--server2=SERVER2 connection information for second server in the form:
user[:password]@host[:port][:socket] or login-path[:port][:socket] or config-path[[group]].
--width=WIDTH display width
--force do not abort when a diff test fails
-c, --compact compact output from a diff.
--skip-table-options skip check of all table options (e.g., AUTO_INCREMENT, ENGINE, CHARSET, etc.).
-v, --verbose control how much information is displayed. e.g., -v = verbose, -vv = more verbose, -vvv = debug
-q, --quiet turn off all messages for quiet execution.
-d DIFFTYPE, --difftype=DIFFTYPE display differences in context format in one of the following formats: [unified|context|differ|sql] (default: unified).
--changes-for=CHANGES_FOR specify the server to show transformations to match the other server. For example, to see the transformation for transforming server1 to match server2, use --changes-for=server1. Valid values are 'server1' or 'server2'. The default is 'server1'.
--show-reverse produce a transformation report containing the SQL statements to transform the object definitions specified in reverse. For example if --changes-for is set to server1, also generate the transformation for server2. Note: the reverse changes are annotated and marked as comments.
Related MySQL Articles: mysqldbcompare utility mysqlrplcheck replication check utility
No comments:
Post a Comment