Heim >Datenbank >MySQL-Tutorial >mysqldiff对比主从表结构是否一致

mysqldiff对比主从表结构是否一致

WBOY
WBOYOriginal
2016-06-07 14:56:011216Durchsuche

mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以实现主从服务器表结构是否一致。数据校验需要使用Percona的pt-table-checksum工具。 安装: #tarzxvfmysql-utilities-1.5.4.tar.gz#cdmysql-utilities-1.5.4#pythonsetup.pyinstall 使用方法: m

mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以实现主从服务器表结构是否一致。数据校验需要使用Percona的pt-table-checksum工具。


安装:

# tar zxvf mysql-utilities-1.5.4.tar.gz
# cd mysql-utilities-1.5.4
# python setup.py install


使用方法:

mysqldiff --server1=admin:123456@192.168.79.10 --server2=admin:123456@192.168.79.11 
--difftype=differ test:test
# WARNING: Using a password on the command line interface can be insecure.
# server1 on 192.168.79.10: ... connected.
# server2 on 192.168.79.11: ... connected.
# Comparing `test` to `test`                                       [PASS]
# Comparing `test`.`t1` to `test`.`t1`                             [FAIL]
# Object definitions differ. (--changes-for=server1)
#
  CREATE TABLE `t1` (
    `id` int(11) DEFAULT NULL,
-   `name` char(4) DEFAULT NULL
?               ^
+   `name` char(16) DEFAULT NULL
?               ^^
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8
Compare failed. One or more differences found.

很直观的找出不一样的地方。


如果你想打印出修改表结构的语句,如下:

# mysqldiff --server1=admin:123456@192.168.79.10 --server2=admin:123456@192.168.79.11 
--difftype=sql test:test
# WARNING: Using a password on the command line interface can be insecure.
# server1 on 192.168.79.10: ... connected.
# server2 on 192.168.79.11: ... connected.
# Comparing `test` to `test`                                       [PASS]
# Comparing `test`.`t1` to `test`.`t1`                             [FAIL]
# Transformation for --changes-for=server1:
#
ALTER TABLE `test`.`t1` 
  CHANGE COLUMN name name char(16) NULL;
Compare failed. One or more differences found.



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn