How do I see the differences between 2 MySQL dumps?

后端 未结 6 892
既然无缘
既然无缘 2020-12-29 21:19

I have 2 MySQL dump files. I want to find the table data difference between 2 tables.

6条回答
  •  既然无缘
    2020-12-29 21:42

    Here's what I use. It works.

    #!/bin/bash
    # Do a mysqldump of the a db, once a day or so and diff to the previous day. I want to catch when data has changed
    # Use the --extended-insert=false so that each row of data is on a single line, that way the diff catches individual record changes
    
    mv /tmp/dbdump0.sql /tmp/dbdump1.sql 2>/dev/null
    
    mysqldump -h dbhostname.com -P 3306 -u username -p password --complete-insert --extended-insert=false dbname > /tmp/dbdump0.sql
    
    # Ignore everything except data lines
    grep "^INSERT" /tmp/dbdump0.sql  > /tmp/dbdump0inserts
    grep "^INSERT" /tmp/dbdump1.sql  > /tmp/dbdump1inserts
    
    diff /tmp/dbdump1.sql  /tmp/dbdump0.sql   > /tmp/dbdumpdiffs
    r=$?
    if [[ 0 != "$r" ]] ; then
        # notifier code remove
    fi
    

提交回复
热议问题