误删除数据库目录后的恢复

问题:

a.误将数据库数据目录和安装目录删除

b.有备份文件和binlog日志

解决方案:

重新安装数据库,使用备份和binlog进行恢复

操作步骤:

1.安装数据库

2.导入数据

a.导入全量备份

b.应用binlog

存在的问题:全量备份中的数据和第一个要应用的binlog重复,导致冲突,主键冲突

问题分析:这是全量备份中的数据和binlog中的数据重复导致的,由于命令中没有加--master-data=2不知道gtid的位置,只能将备份完成时间后的binlog恢复到数据库(这种方法不太准确,可能丢数据)

用到的命令:

mysql -uroot -p <quanbei.sql

mysqlbinlog --no-defaults --base64-output=decode-row -vv --start-datetime='2020-05-02 22:36:46 ’  mysql-bin.000001 | mysql -uroot -p

mysqlbinlog  mysql-bin.000001 |mysql -uroot -p

注意点:

a.不要写成了中文的单引号;(写成中文的,回车执行命令,无报错,不会正常执行命令)

b.一般应用全量备份文件后的第一个binlog文件需要加时间参数,后面的就不需要加了

c.如果binlog文件文件比较大比较多,可以放到脚本里,在后台执行,防止执行过程中中断;如果没有放到脚本里执行,执行时间比较长,导致中断,可以查看被恢复数据库的binlog执行到了哪里,然后再从指定的位置应用之前的binlog文件

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容