很幸運的是,這個似乎已經是前人研究過的問題了。有現成的工具可以使用。
(1) 安裝 mysqldiff
$ sudo apt-get install mysql-utilities
(2) 如果因為遇到一些奇奇怪怪 python library 的問題導致裝不起來時,也可以用考慮使用 docker 來迴避安裝的困難。
$ docker pull samfulton/mysql-utilities
$ docker run -ti samfulton/mysql-utilities
(3) 使用的實例1:比較兩張資料表
$ mysqldiff --server1=root:password@10.20.30.40 \
boss.contacts:coss.contacts \
--difftype=sql -v
(4)使用的實例2:比較兩個完整的資料庫,且遇到錯誤不停止,繼續比較。
$ mysqldiff --server1=root:password@10.20.30.40 \
boss:coss \
--difftype=sql -v --force