MySQL binlog操作的一些方法

本文详细介绍了MySQL从库如何记录binlog,包括开启binlog、设置保留天数、binlog模式选择、事务提交策略、查看和备份binlog内容的方法,以及如何根据位置点或时间进行数据恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

让mysql从库记录binlog方法
需要记录binlog的情况
1 当前从库还要做为其他从库的主库
2 把从库作为数据库备份服务器是需要开启binlog

编辑从库my.cnf
打开log-bin = /data/mysql-bin
添加
log-slave-updates

保留binlog文件设置
编辑my.cnf
expire_logs_days = 7
注:自动删除七天前的binlog日志

设置binlog模式
binlog_format = ROW (5.7默认类型)
binlog三种日志类型
STATEMENT #语句模式
ROW #行模式
MIXED #混杂模式

每次事务提交都立即刷写binlog到磁盘
sync_binlog=1

查看binlog日志内容
mysqlbinlog /application/mysql/data/mysql.000001
如果是ROW模式insert一些语句需要添加参数才能看
mysqlbinlog --base64-output=decode-rows -vvv /application/mysql/data/mysql.000001

备份二进制binlog为SQL语句
备份指定binlog数据信息
mysqlbinlog /application/mysql/data/mysql.000006 >/tmp/all20_bak.sql

binlog备份指定数据库
mysqlbinlog -d he /application/mysql/data/mysql.000006 >/tmp/he20_bak.sql
-d 指定库备份binlog上的库

binlog指定位置点或时间备份数据
mysqlbinlog /application/mysql/data/mysql.000006 --start-position=20 --stop-position=100 > /tmp/bin_bak.sql
注释:位置点查看
mysqlbinlog /application/mysql/data/mysql.000004
#at 20 就是位置点位置
如果只给起始点不给结束点的话 就是从指定起始点到结尾,同理只给结束点不给起始点,从开头到指定结束点

mysqlbinlog mysql.000004 --start-datetime=’ 170925 10:21:22
‘ --stop-datetime=’ 170925 10:22:22’ -r /tmp/time_bak.sql
#170925 10:21:22 时间点
-r 等同于重定向 >
如果只给起始时间不给结束时间的话 就是从指定起时间点到结尾,同理只给结束时间不给起始时间,从开头到指定结束时间

查看存在的binlog日志
show binary logs;

刷新binlog
mysqladmin -uroot -p --flush-logs
mysql -uroot -p -e “flush logs”
重启MySQL 刷新
达到指定大小后刷新
max_binlog_size (系统默认1G)
how variables like “%max_binlog_size%”; (查看binlog最大存储大小)
在这里插入图片描述

删除已有的binlog日志文件
删除指定版本之前的binlog日志,不包括指定版本
purge master logs to ‘binlong文件’
例:mysql> purge master logs to ‘web01-bin.000003’; #删除01 02 binlog日志
删除所有binlog日志,并重新生成新的一个binlog日志
reset master
例;mysql> reset master;

查看正在使用的binlong日志
show master status;

查看binlog中的事件
show binlog events in ‘mysql-bin.000006’ ;

临时关闭记录binlog日志
mysql> set sql_log_bin=0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值