MySQL数据恢复流程

windows下mysql数据库恢复详细流程(以 win10系统,mysql5.5.36版本进行测试)
数据库应进行每晚12点或自定义时间间隔自动进行主从备份,备份时应锁定数据库
对于时间间隔内出错的数据可以利用binlog日志文件进行恢复,binlog日志文件默认不会进行自动删除

开启mysql数据库的binlog日志记录功能
https://jingyan.baidu.com/article/dca1fa6f169856f1a440529e.html
https://baijiahao.baidu.com/s?id=1613946893411582653&wfr=spider&for=pc

1、登录mysql数据库,命令行连接数据库格式
mysql -u -p -h -P
注:u为用户名,p为密码,h为ip地址 P为端口号
例如:mysql -uroot -p123 -h 192.168.99.99 -P 3306

2、登录到数据库中查看日志是否打开,log_bin为OFF说明未开启。
show variables like “log_bin”;

3、修改mysql配置文件来开启binlog
安装路径下找到配置文件my.ini ,记事本打开,在[mysqld]子节点下增加行
log-bin=mysql-bin
注:linux系统下配置文件为my.cnf
查看mysql安装路径
select @@basedir;
查看mysql数据存储路径
show global variables like “%datadir%”;
或者select @@datadir;

4、重启数据库服务,退出(ctrl+c)命令行重新登录后,再次验证binlog功能是否开启

5、查看已生成的binlog日志文件
show master logs;

6、指定二进制日志文件的存储位置
my.ini文件->[mysqld]子节点下->增加行
log-bin=“指定路径/指定文件名.log”
例如:log-bin=“d:/as/binlog.log”

7、日志文件生成规则
每当重启数据库服务或执行 “ flush logs;”命令均会生成一个新的日志文件
https://blog.csdn.net/h348592532/article/details/78121962

8、设置binlog自动清理时间
my.ini文件->[mysqld]子节点下->增加行
expire_logs_days = 天数
例如:expire_logs_days = 7 //每7天自动清理一次

9、binlog每个日志文件大小
my.ini文件->[mysqld]子节点下->增加行
max_binlog_size = 文件大小
例如:max_binlog_size = 100m //最大文件大小为100M

10、查询当前正在使用哪个日志文件
show master status\G

11、清空所有binlog日志
reset master;

利用日志文件恢复数据,以下步骤均在退出mysql登陆后操作
https://blog.csdn.net/helin916012530/article/details/56668383
https://www.cnblogs.com/CHEUNGKAMING/p/5709796.html

1、日志文件生成sql文件
mysqlbinlog -d 数据库名 日志文件名 > 生成文件名.sql
例如:mysqlbinlog -d 数据库名 mysql-bin.000001 mysql-bin.000002 > 生成文件名.sql
注:该命令在文件路径下执行
多个日志文件之间以空格分隔
参数说明:
-d,选择数据库,后跟数据库名称,如-d test,意思就是从日志文件中提取出所有test数据库的操作;
–start-datetime,开始时间,后跟时间字符串,如–start-datetime=”2015-12-25 11:25:56″,意思就是从日志文件中提取这一时间节点以后的数据库操作;
–stop-datetime,结束时间,后跟时间字符串,如–stop-datetime=”2016-12-25 11:25:56″,意思就是从日志文件中提取这一时间节点之前的数据库操作;
–start-position,开始位置,后跟一个整数,如–start-position=100,意思就是从日志文件中第1个位置等于N参量时的事件开始读取数据库操作;
–stop-position,结束位置,后跟一个整数,如–stop-position=1000,意思就是从日志文件中第1个位置等于和大于N参量时的事件起停止读取数据库操作;

2、导入sql文件
source sql文件路径
注:sql文件路径支持sql文件直接拖入命令行窗口获得
windows下的文件路径“/”应全部修改为“\”
拖拽后路径的“”应删除掉

3、删除原有库模拟数据删除,进行校验,至此日志恢复操作完成

4、查看某日志文件的内容
cd binlog文件上级完整文件路径,注意修改路径标识符“/”为“\”
进入路径后 ,输入日志文件名
注:cd 命令后不要带分号
cd命令执行后路径未改变->执行后再次输入“ 盘符: ”
https://www.cnblogs.com/huchong/p/7474087.html

5、查看mysqlbinlog帮助
mysqlbinlog -help

你可能感兴趣的:(数据库)