美文网首页
数据库一致性比对脚本

数据库一致性比对脚本

作者: superxcp | 来源:发表于2019-10-09 15:22 被阅读0次

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

    • 1.准备前提:机器上安装了mysql客户端工具类
      yum install mysql

    • 2.在一个项目的数据库上执行

    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

    • 3.在机器上生成tengxun.txt和ali.txt文件,用于保存执行diff.sql的结果,创建diff.result文件保存数据库是否一致的差异结果,注意文件的读写权限

    • 4.生成一个c.sh可执行文件,里面的代码如下(使用时只需执行c.sh文件,查看diff.result结果就好了):

    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有内容,说明数据库记录不一致,无内容,说明数据库记录数一致;

    以上

    相关文章

      网友评论

          本文标题:数据库一致性比对脚本

          本文链接:https://www.haomeiwen.com/subject/inxlyctx.html