(平台CentOS7,mysql5.7)
首先假定数据库在周三时不幸崩溃了,而你在周日有个全备份,之后有2个mysql-bin.000008,mysql-bin.000009文件,现在需要从这些备份中恢复.
(mysql-bin.00000x文件首先要启用bin-log,默认目录/var/lib/mysql)
首先恢复全备份
shell> mysql < backup_sunday.sql
然后恢复之后的增量变化文件,就是mysql-bin.000008,mysql-bin000009等.使用如下命令
shell> mysqlbinlog mysql-bin.000008 mysql-bin.000009 | mysql
现在已经恢复了全备之后的增量文件.但还有在mysql-bin.000009和崩溃之间发生的数据变化需要恢复.
为了不遗失这些数据,请将bin-log备份存放在安全的地方,比如raid硬盘,NAS ,SAN等.与data文件放在不同的硬盘上. (这样假定data盘损坏的情况下),我们依然能通过binlog日志恢复 .
这时可通过启动sever --login-bin选项会得到后续的bin-log ,然后继续用mysqlbinlog来恢复.
shell>mysqld --login-bin
shell> mysqlbinlog gbichot2-bin.000010 ... | mysql
至此恢复完毕