Mysql--binlog基本操作整理

1.开启binlog

https://blog.csdn.net/king_kgh/article/details/74800513

2.查看状态

show variables like '%log_bin%';
show master status;

每重启一次,会自动生成一个binlog文件

清空:reset master

生成一个新的文件:flush logs

3.查看binlog文件

默认路径 /var/lib/mysql

退出mysql,用mysqlbinlog指令

mysqlbinlog /.../binlog文件

4.数据库备份

只能用传统方法,binlog只能做数据库主从复制,数据增量恢复,

数据库备份

下面我们对mytest数据库进行备份,备份到/root/bakup/

mysqldump -uroot -p -B -F -R -x --master-data=2 mytest | gzip > /root/backup/bak_$(date +%F).sql.gz
参数说明:
-B:指定数据库
-F:刷新日志
-R:备份存储过程等
-x:锁表
--master-data:在备份语句里添加CHANGE MASTER语句以及binlog文件及位置点信息


5.数据恢复

再binlog文件中找到要恢复的操作的起始位置和结束为止(比如154-755)

mysqlbinlog mysql-bin.000001 --start-position 154 --stop-position 755 | mysql -uroot -p mytest

下面是binlog日志恢复中一些常用的参数

--start-datetime:从二进制日志中读取指定等于时间戳或者晚于本地计算机的时间
--stop-datetime:从二进制日志中读取指定小于时间戳或者等于本地计算机的时间 取值和上述一样
--start-position:从二进制日志中读取指定position 事件位置作为开始。
--stop-position:从二进制日志中读取指定position 事件位置作为事件截至

 
  


下面是binlog日志恢复中一些常用的参数

--start-datetime:从二进制日志中读取指定等于时间戳或者晚于本地计算机的时间
--stop-datetime:从二进制日志中读取指定小于时间戳或者等于本地计算机的时间 取值和上述一样
--start-position:从二进制日志中读取指定position 事件位置作为开始。
--stop-position:从二进制日志中读取指定position 事件位置作为事件截至

你可能感兴趣的:(Linux)