数据库一致性比对脚本

2019-10-09  本文已影响0人  superxcp

该方法是保证两个项目的数据库数据完全一致,方法是确认每个库中每个表记录条数完全一致。

use information_schema;

select concat(
    'select "', 
    TABLE_name, 
    '", count(*) from ', 
    TABLE_SCHEMA, 
    '.',
    TABLE_name,
    ' union all'
) from tables 
where TABLE_SCHEMA='nubrowser';

得到一个sql语句,用来查询各自数据库的数量,拷贝该sql语句在可以连接数据库的linux机器上生成一个可执行文件diff.sql

mysql -h172.11.22.1  -uuser -ppass -N < diff.sql > tengxun.txt

mysql -h172.11.22.2  -uuser -ppass -N < diff.sql > ali.txt

diff -y tengxun.txt ali.txt | grep "|" > diff.result

cat diff.result

(1)在数据库1执行diff.sql脚本,查询到的结果放到tengxun.txt中;
(2)在数据库2执行diff.sql脚本,查询到的结果放到tengxun.txt中;
(3)对比两个数据库的查询结果,差异放在diff.result中;
(4)如果diff.result有内容,说明数据库记录不一致,无内容,说明数据库记录数一致;

以上

上一篇下一篇

猜你喜欢

热点阅读