MySQL主从验证技术02

学习目标:

了解熟悉mysqldiff 数据库对象级别比较工具.

下载地址:MySQL :: Download MySQL Utilities (Archived Versions)

或者我的博客:mysql-utilities-1.6.5.tar.gz-MySQL文档类资源-CSDN下载

还需要一个驱动mysql-connector-python-2.1.7-1.el7.x86_64.rpm,从这个资源包里下载MySQL主从数据校验工具-MySQL文档类资源-CSDN下载

 上传目录到/soft/


学习内容:

基于此博客环境做演示:MySQL基于GTID无损同步_零Ⅰ的博客-CSDN博客

1、解压安装mysql-utilities-1.6.5.tar.gz

cd /soft

tar zxvf mysql-utilities-1.6.5.tar.gz

cd mysql-utilities-1.6.5

python ./setup.py build

python ./setup.py install

直接依次执行就好

2、安装驱动程序 Connector/Python:

cd /soft

rpm -ivh mysql-connector-python-2.1.7-1.el7.x86_64.rpm

3、案例

示例一:检查 server1,server2 上的某个表是否一致

mysqldiff --server1=root:root@192.168.16.51:3306 --server2=root:root@192.168.16.52:3306 itpuxdb.itpux_m5:itpuxdb.itpux_m5

 

示例二:检查 server1,server2 上的两个数据库中的所有的表是否一致

mysqldiff --server1=root:root@192.168.16.51:3306 --server2=root:root@192.168.16.52:3306 itpuxdb:itpuxdb

changes-for 选项来控制对比方向。默认是以 server1。同时显示,可以使用--show-reverse 选项。

mysqldiff --server1=root:root@192.168.16.51:3306 --server2=root:root@192.168.16.52:3306 itpuxdb.itpux_m5:itpuxdb.itpux_yg --difftype=sql --show-reverse -vvv

 

 


总结:

$ mysqldiff --server1=user:pass@host:port:socket --server2=user:pass@host:port:socket db1.object1:db2.object1 db3:db4

这个语法有两个用法:

db1:db2:如果只指定数据库,那么就将两个数据库中互相缺少的对象显示出来,不比较对象里

面的差异。这里的对象包括表、存储过程、函数、触发器等。

db1.object1:db2.object1:如果指定了具体表对象,那么就会详细对比两个表的差异,包括表名、字段名、备注、索引、大小写等所有的表相关的对象。

一些主要的参数:

--server1:配置 server1 的连接。

--server2:配置 server2 的连接。

--character-set : 配置连接时用的字符集 ,如果不配置默认使用 character_set_client。

--width:配置显示的宽度。

--skip-table-options :保持表的选项不变 , 及对比的差异里面不包括表名 、AUTO_INCREMENT、ENGINE、CHARSET 等差异。

-d DIFFTYPE,--difftype=DIFFTYPE : 差 异 的 信 息 显 示 的 方 式 , 有[unified|context|differ|sql],默认是 unified。如果使用 sql,那么就直接生成差异的 SQL,这样非常方便。

--changes-for=:修改对象。例如--changes-for=server2,那么对比以 sever1 为主,生成的差异的修改也是针对 server2 的对象的修改。

--show-reverse:在生成的差异修改里面,同时会包含 server2 和 server1 的修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值