cd /download
wget https://cdn.mysql.com/archives/mysql-utilities/mysql-utilities-1.6.5.tar.gz
tar xvf mysql-utilities-1.6.5.tar.gz
cd mysql-utilities-1.6.5
python setup.py build
python setup.py install
mysqldiff --version
mysqldiff --server1=root:pwd@172.22.160.20:3306 --server2=root:pwd@172.22.160.20:3306 ccos.role:maytest.role --difftype=sql
mysqldiff只能比较结构不能比较数据
mysqldbcompare --server1=root:pwd@172.22.160.20:3306 --server2=root:pwd@172.22.160.20:3306 ccos:maytest --changes-for=server1 --difftype=sql
ERROR: The list of objects differs among database ccos and maytest.
没有run-all-tests会报错
mysqldbcompare --server1=root:pwd@172.22.160.20:3306 --server2=root:pwd@172.22.160.20:3306 maytest2:maytest --changes-for=server2 --difftype=sql --run-all-tests
问题
1 新增的表没有新增sql删除的表没有删除表sql,但是会展示表名
2.字段修改插件没办法识别是修改还是删除后再新增
3.表名修改 会当做表删除再新增
4.新增表有数据新增数据sql没有
小结
1.问题1,4应该可以解决字段名和表名修改不好判断,删除再新增容易丢失数据
该功能建议
1.增加数据库备份和数据库还原功能,防止根据插件生成的sql执行出问题
2.根据插件生成的sql需要人工过一遍手动执行,没问题可以上传到svn文件名to.sql ***为版本号。再次升级就不需要人工过一遍直接执行sql
验证
增删修改数据 正常
网友评论