定期備份 mysql 資料到其他機器

Phanix
·
·
IPFS
·

最理想的方式當然是做 cluster,但是有時候沒這麼理想。

比方說最近遇到的例子就是有些機器在 google cloud 上,有些在 aliyun 上,但是從 aliyun 連 google cloud 真的是望眼欲穿,就連反過來從 google cloud 要連 aliyun 都是考驗耐心,所以,如果用 cluster 或者是在程式部分去 update 多個 database,實在不是明智之舉。因此,只好善用 mysqldump 跟 scp

mysqldump -u username -pPASSWORD username table_1 > /tmp/sqldump/table_1.sql
mysqldump -u username -pPASSWORD username table_2 > /tmp/sqldump/table_2.sql
zip -r /tmp/sqldump.zip /tmp/sqldump/
scp /tmp/sqldump.zip root@IP_ADDRESS:/tmp/sqldump.zip
ssh root@IP_ADDRESS 'cd /; unzip -o /tmp/sqldump.zip; rm -f sqldump.zip; cat /tmp/sqldump/*.sql | mysql -u username -pPASSWORD username;'

剩下的就是寫 crontab 了

Original link: Phanix's Blog

CC BY-NC-ND 2.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!