不小心删除了公司数据库,是什么样一种体验?
然而是人总不免会失足误,说不定哪天大脑短路了,误操纵把数据库给删除了,怎么办?下面,就 MySQL 数据库误删除后的规复方案举办声名。 事变场景 MySQL 数据库每晚 12:00 自动完全备份。 某天早上上班,9 点的时辰,一同事犯晕 drop 了一个数据库! 必要紧张规复!可操作备份的数据文件以及增量的 binlog 文件举办数据规复。 数据规复思绪 操作全备的 SQL 文件中记录的 CHANGE MASTER 语句,binlog 文件及其位置点信息,找出 binlog 文件中增量的那部门。 用 MySQLbinlog 呼吁将上述的 binlog 文件导出为 SQL 文件,并剔除个中的 drop 语句。 通过全备文件和增量 binlog 文件的导出 SQL 文件,就可以规复到完备的数据。 实例声名 起首,要确保 MySQL 开启了 binlog 日记成果。在 /etc/my.cnf 文件里的 [mysqld] 区块添加,如下图,然后重启 MySQL处事。 1.在 ops 库下建设一张表 customers 2.此刻举办全备份 参数声名:
3.再次插入数据 4.此时误操纵,删除了 test 数据库 此时,全备之后到误操纵时候之间,用户写入的数据在 binlog 中,必要规复出来! 5.查察全备之后新增的 binlog 文件 这是全备时候的 binlog 文件位置,即 mysql-bin.000002 的 106 行,因此在该文件之前的 binlog文件中的数据都已经包括在这个全备的 SQL 文件中了。 6.移动 binlog 文件,并导出为 SQL 文件 剔除个中的 drop 语句,查察 MySQL 的数据存放目次,由下面可知是在 /var/lib/mysql 下,将 binlog 文件导出 SQL文件,并 vim 编辑它删除个中的 drop 语句。 留意:在规复全备数据之前必需将该 binlog 文件移出,不然规复进程中,会继承写入语句到 binlog,最终导致增量规复数据部门变得较量紊乱。 7.规复数据 查察数据库,看看 ops 库在不在。 此时规复了全备时候的数据。接着,行使 002bin.sql 文件规复全备时候到删除数据库之间,新增的数据。 再次查察数据库,发明全备份到删除数据库之间的那部门数据也规复了!! 以上就是 MySQL 数据库增量数据规复的实例进程! 最后,总结几点:
(编辑:厦门网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |