被安排做一个备份的活,表很多,需要做每日备份,因为有要看某一天某个页面长什么样子的需求 orz
这个需求是这样,我是后来才知道的
一开始只是叫我跑定时任务把每天更新的数据保存到另一个数据库,我就照做了,但是发现了一个问题——外键约束。如果去除外键约束确实可以存进去,或者说按外键连接的表先存,但是这样明显很麻烦,后面数据存进去的外键也得改,因为连的主键变了,还得加一个日期字段,不然根本不知道存的是哪天。用的是 django, 如果要加字段不一定能用 django 的 orm ,再加上表非常多,用 MySQLdb 写简直要我老命
我自己网上查了一下,感觉用 lvm 热备份,再搭个容器看历史数据就好了
但 leader 闲麻烦还是怎么样,因为运维那边好像很麻烦的样子。
我说每天 mysqldump 后 gzip 一下,然后就没有然后了
1
m4ker 2015-12-14 23:44:12 +08:00
为啥不利用主从进行备份?
|
2
wy315700 2015-12-14 23:46:27 +08:00
xtrabackup
|
3
msg7086 2015-12-15 00:02:37 +08:00
主从复制备份。任何时间都可以中断复制,备份从库,然后再继续复制,这样任何时候备份都能保证一致性。只要你想,每 10 分钟备份一次都行。
|
4
quietin OP @m4ker 主从备份,那是 slave 的数据一直和 master 一样啊,现在的要求相当于给每天打快照那种, 不一样的
|
6
rubyonrail 2015-12-15 10:55:49 +08:00
定期 mysqldump 可以的, 然后把主库的 binlog 打开, 挂了之后先从 mysqldump 恢复, 然后从 binlog 中取得 mysqldump 后发生的操作, 重放日志恢复, 记得 mysqldump 的时候开 master data 的选项
|