binlog流程 mysql_Mysql binlog的基本使用和数据库恢复步骤

前言

简单记录下使用binlog的使用和恢复数据库的操作

开启binlog

开启mysql binlog日志,进入mysql配置文件(vi /etc/my.cnf) 在mysqld区域内添加如下内容,

# 单个节点id

server-id = 1

# 位置一般和mysql库文件所在位置一样

log-bin= /var/lib/mysql/mysql-bin

# 表示此日志保存时间为10天

expire_logs_days = 10

重启mysqld,再次查看binlog日志开启状态为ON

binlog常用命令

show variables like '%log_bin%'; //查看binlog开启状态

show variables like '%datadir%'; //查看binlog存放日志文件目录

show master logs; //查看所有binlog日志文件列表

show binlog events in ‘mysql-bin.000003’; //查看binglog日志内容

Flush logs //刷新日志

恢复数据库

一般流程

备份数据库=> 刷新binlog => 操作失误 => 使用mysqlbinlog生成最近备份到失误前的命令的.sql文件 => 还原最新的备份数据库 => 执行.sql文件(执行备份后执行的正确命令)

1.1 linux下使用

# 使用pos生成

/usr/bin/mysqlbinlog --start-position=573 --stop-position=718 --database=hello /var/lib/mysql/mysql-bin.000006 | /usr/bin/mysql -uroot -p密码 -v hello

# 使用日期生成

/usr/bin/mysqlbinlog --start-datetime="2018-04-27 20:57:55" --stop-datetime="2018-04-27 20:58:18" --database=hello /var/lib/mysql/mysql-bin.000009 | /usr/bin/mysql -uroot -p密码 -v hello

1.2 windows下使用

# 使用pos生成

/usr/bin/mysqlbinlog --start-position=573 --stop-position=718 --database=hello /var/lib/mysql/mysql-bin.000006 > sql6.sql

2 恢复

source sql6.sql

总结:

1.恢复之前先用备份数据库恢复数据

2.使用mysqlbinlog命令时 不可以在window powershell下执行,可以在cmd下执行

3.最后使用binlog生成的sql文件恢复数据时,不可以在navicate里面执行文件,只能在cmd下执行

4.备份数据库和使用binlogs命令的时候,最好使用flush logs刷新binlog日志,可以简化日后对binlog日志的pos查找

5.mysqlbinlog可在mysql的bin目录下找到 windows: C:\Program Files\MySQL\MySQL Server 8.0\bin

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值