问题:
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文件