如何用python同步MySQL?
我正在设置一个虚拟机(VM)。
我的主机和虚拟机上都有Mysql。 我想知道怎么让虚拟机上的Mysql和主机上的Mysql保持同步。 主机上用的是Mysql 5.5,操作系统是XP。 虚拟机上用的是Mysql 5.1,操作系统是Fedora 14。
1) 我可以把数据导出到一个“共享”位置,然后再恢复。 但我不确定这样是否可行。 2) 我可以把主机的Mysql和虚拟机的Mysql联网,但我不知道怎么做。
我该如何用Python 2.7来实现这个?
我不想在设置完成后它们一直保持同步。 不过,可能会偶尔同步一些表或者存储过程(SP),在重写的时候。 在我搭建好Linux环境后,我希望能把虚拟机转换为物理机(V2P),并实现双启动系统。
3 个回答
0
你为什么要用Python呢?直接使用内置的复制功能就可以了:http://dev.mysql.com/doc/refman/5.5/en/replication.html
0
你想要实时同步吗?
那为什么不直接把客人的mysql程序连接到主机上呢?
1
你可以使用 mysqldump
来备份数据库,这样在测试后可以把数据库恢复到之前的状态。
不过,与其去处理不同数据库实例之间的同步问题,不如把主机上的数据库开放给本地网络访问,让虚拟机里的应用像访问远程服务器一样去访问它。这样整体性能也会有所提升。
即使你决定在主机和虚拟机上运行不同的数据库,也最好都在主机的 MySQL 实例上运行。这样性能会更好,配置管理也会更简单,而且虚拟机里的应用测试会更接近真实的部署环境。