V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
quietin
V2EX  ›  MySQL

每天数据备份跑定时任务这种方法可行吗

  •  
  •   quietin · 2015-12-14 23:18:30 +08:00 · 3056 次点击
    这是一个创建于 3274 天前的主题,其中的信息可能已经有所发展或是发生改变。

    被安排做一个备份的活,表很多,需要做每日备份,因为有要看某一天某个页面长什么样子的需求 orz

    这个需求是这样,我是后来才知道的

    一开始只是叫我跑定时任务把每天更新的数据保存到另一个数据库,我就照做了,但是发现了一个问题——外键约束。如果去除外键约束确实可以存进去,或者说按外键连接的表先存,但是这样明显很麻烦,后面数据存进去的外键也得改,因为连的主键变了,还得加一个日期字段,不然根本不知道存的是哪天。用的是 django, 如果要加字段不一定能用 django 的 orm ,再加上表非常多,用 MySQLdb 写简直要我老命

    我自己网上查了一下,感觉用 lvm 热备份,再搭个容器看历史数据就好了

    但 leader 闲麻烦还是怎么样,因为运维那边好像很麻烦的样子。

    我说每天 mysqldump 后 gzip 一下,然后就没有然后了

    8 条回复    2015-12-15 21:07:01 +08:00
    m4ker
        1
    m4ker  
       2015-12-14 23:44:12 +08:00
    为啥不利用主从进行备份?
    wy315700
        2
    wy315700  
       2015-12-14 23:46:27 +08:00
    xtrabackup
    msg7086
        3
    msg7086  
       2015-12-15 00:02:37 +08:00
    主从复制备份。任何时间都可以中断复制,备份从库,然后再继续复制,这样任何时候备份都能保证一致性。只要你想,每 10 分钟备份一次都行。
    quietin
        4
    quietin  
    OP
       2015-12-15 10:14:42 +08:00
    @m4ker 主从备份,那是 slave 的数据一直和 master 一样啊,现在的要求相当于给每天打快照那种, 不一样的
    quietin
        5
    quietin  
    OP
       2015-12-15 10:15:43 +08:00
    @msg7086 中断的时候主库挂了不会有风险么,感觉这个方案不如 lvm 热备份好啊
    rubyonrail
        6
    rubyonrail  
       2015-12-15 10:55:49 +08:00
    定期 mysqldump 可以的, 然后把主库的 binlog 打开, 挂了之后先从 mysqldump 恢复, 然后从 binlog 中取得 mysqldump 后发生的操作, 重放日志恢复, 记得 mysqldump 的时候开 master data 的选项
    quietin
        7
    quietin  
    OP
       2015-12-15 11:32:53 +08:00
    @wy315700 好像是好东西
    msg7086
        8
    msg7086  
       2015-12-15 21:07:01 +08:00
    @quietin 不会。
    复制有 2 个线程,一个是复制日志,一个是把日志应用到数据库上。
    你只需要中断后者就行了,前者还是继续跑的。
    就算数据库崩溃了,也可以在备份完从库以后恢复复制,可以得到完整的数据。
    (而且你这 LVM 就能抓到最后一瞬间的数据了吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1691 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:45 · PVG 00:45 · LAX 08:45 · JFK 11:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.