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
cutoutsy
V2EX  ›  MySQL

mysql 备份完整性验证

  •  
  •   cutoutsy · 2017-02-23 15:35:19 +08:00 · 8454 次点击
    这是一个创建于 2832 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Mysql 数据库备份,使用 mysqldump ,但是最近发现备份文件有时会比前一天小,不是应该越来越大么,数据库备份文件大小约为 12G 。

    请问使用 mysqldump 备份的时候如何验证备份文件的完整性,即备份文件是可用的且数据完整。

    谢谢~~

    11 条回复    2017-03-07 16:30:56 +08:00
    vingz
        1
    vingz  
       2017-02-23 15:49:39 +08:00
    mark ,备份文件大小,跟内容多少有关
    ETiV
        2
    ETiV  
       2017-02-23 15:52:38 +08:00 via iPhone
    我觉得这事儿要看你代码里有没有 delete from ……
    cutoutsy
        3
    cutoutsy  
    OP
       2017-02-23 16:14:10 +08:00
    @vingc723 嗯,,我这只是说下大概内容有多少
    cutoutsy
        4
    cutoutsy  
    OP
       2017-02-23 16:15:43 +08:00
    @ETiV 如果不管代码逻辑,只从 mysqldump 备份命令及备份后的文件来验证备份文件的完整性?不知道这样可以不
    FifiLyu
        5
    FifiLyu  
       2017-02-23 17:19:46 +08:00
    为什么搞这么复杂。只要你执行 mysqldump 命令,返回值是 0 ,就表示没任何错误。

    非 0 ,就需要检查错误。
    devopscode
        6
    devopscode  
       2017-02-23 23:50:40 +08:00
    mysqldump 是没办法校验数据完整性的,如果需要校验数据完整性,还是用 percona mysql toolkit 吧。
    likuku
        7
    likuku  
       2017-02-24 00:37:38 +08:00
    没法检查数据完整性,最多可以在备用机上作一次导入测试,假若导入完成,可以认为此次备份是正确的。

    假若 DB 可以停机维护,那还有机会全机锁表后再导出备份,完成后测试机上还原备份,对比下源机上 db 库各个表的记录总数。然后让源库的表解锁。

    这样一般也很不现实。

    数据完整性,还是得靠业务系统设计来解决。

    比如任何 db 写入操作,都必须放在事务里,同时记录完整的日志文件 /输出到日志系统,这样不仅可以查对,万一 db 故障 /误删, db 备份失效,还有机会恢复。
    cutoutsy
        8
    cutoutsy  
    OP
       2017-02-24 09:23:57 +08:00
    @likuku 了解了,非常感谢!!
    cutoutsy
        9
    cutoutsy  
    OP
       2017-02-24 09:24:15 +08:00
    @FifiLyu 嗯,现在的备份脚本就是这么写的
    jarlyyn
        10
    jarlyyn  
       2017-02-24 10:23:56 +08:00
    如果随便备备, Mysqldump 就行了。

    正经备份的话,不是应该做个 snapshot ,复制数据库文件,再备份个 binlog 么……
    v2girl
        11
    v2girl  
       2017-03-07 16:30:55 +08:00
    CHECKSUM TABLE tbl_name [, tbl_name] ... [ QUICK | EXTENDED ]
    报告一个表校验和。
    我每次备份自动比较值。
    楼上全是水货
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3324 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:19 · PVG 20:19 · LAX 04:19 · JFK 07:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.