Mysql 数据库备份,使用 mysqldump ,但是最近发现备份文件有时会比前一天小,不是应该越来越大么,数据库备份文件大小约为 12G 。
请问使用 mysqldump 备份的时候如何验证备份文件的完整性,即备份文件是可用的且数据完整。
谢谢~~
1
vingz 2017-02-23 15:49:39 +08:00
mark ,备份文件大小,跟内容多少有关
|
2
ETiV 2017-02-23 15:52:38 +08:00 via iPhone
我觉得这事儿要看你代码里有没有 delete from ……
|
4
cutoutsy OP @ETiV 如果不管代码逻辑,只从 mysqldump 备份命令及备份后的文件来验证备份文件的完整性?不知道这样可以不
|
5
FifiLyu 2017-02-23 17:19:46 +08:00
为什么搞这么复杂。只要你执行 mysqldump 命令,返回值是 0 ,就表示没任何错误。
非 0 ,就需要检查错误。 |
6
devopscode 2017-02-23 23:50:40 +08:00
mysqldump 是没办法校验数据完整性的,如果需要校验数据完整性,还是用 percona mysql toolkit 吧。
|
7
likuku 2017-02-24 00:37:38 +08:00
没法检查数据完整性,最多可以在备用机上作一次导入测试,假若导入完成,可以认为此次备份是正确的。
假若 DB 可以停机维护,那还有机会全机锁表后再导出备份,完成后测试机上还原备份,对比下源机上 db 库各个表的记录总数。然后让源库的表解锁。 这样一般也很不现实。 数据完整性,还是得靠业务系统设计来解决。 比如任何 db 写入操作,都必须放在事务里,同时记录完整的日志文件 /输出到日志系统,这样不仅可以查对,万一 db 故障 /误删, db 备份失效,还有机会恢复。 |
10
jarlyyn 2017-02-24 10:23:56 +08:00
如果随便备备, Mysqldump 就行了。
正经备份的话,不是应该做个 snapshot ,复制数据库文件,再备份个 binlog 么…… |
11
v2girl 2017-03-07 16:30:55 +08:00
CHECKSUM TABLE tbl_name [, tbl_name] ... [ QUICK | EXTENDED ]
报告一个表校验和。 我每次备份自动比较值。 楼上全是水货 |