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

zealinux · November 23, 2012 · Last by terrywang replied at November 29, 2012 · 2819 hits

线上 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 ;-)

You need to Sign in before reply, if you don't have an account, please Sign up first.