部署 怎样同步数据库 (mysql)

zealinux · 2012年11月23日 · 最后由 terrywang 回复于 2012年11月29日 · 2830 次阅读

线上 DB,录入了很多数据

本地怎么同步进这些数据?

另外: 文件的话,我用 RSync,不知道有没有更好的工具。

又不需要实时 那就 mysqldump 导出一个 sql 文件,拉下来 本地再 source 放进去

如果数据多,mysqldump 导出和导入狠慢。可以导出为 csv,再导到本地。

很多有多少,100,1000,10000。

需要实时吗?目的是什么?为什么要把生产环境的数据导入到本地?给本地测试用,还是?

全部同步,还是想要一部分数据。 建议在线上搞个 slave,然后把这个 slave 搞回本地。

几 K,测试用,不需要实时,那就只好用 mysqldump 了。这东西不是太好用。 先 dump 出来,然后再 scp 出去,最后 mysql 进来,如果一步解决就好了。

公司现在用的跟 #5 楼 说得差不多的方法。

#6 楼 @zealinux 一步解决 dump 和传输:

ssh -C server.com mysqldump -u dbuser -p dbname | gzip > dump.sql.gz

如果不嫌折腾,可以试试看这个 https://github.com/ricardochimal/taps Heroku 就是用这个来 push/pull 本地到远程数据库的。

简单的 scp / rsync 高级点的可以用 DRBD + heartbeat 做 block device level replication ;-)

简单的 scp / rsync 高级点的可以用 DRBD + heartbeat 做 block device level replication ;-)

需要 登录 后方可回复, 如果你还没有账号请 注册新账号