优秀的编程知识分享平台

网站首页 > 技术文章 正文

Mysql启用Binlog(mysql启用日志功能)

nanyue 2024-10-20 07:48:00 技术文章 3 ℃

环境:mysql5.7.12

查看是否开启binlog

执行:show binary logs;

输出错误,没有开启binlog。


修改my.ini文件

不要修改错了,是如下目录:

C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

配置文件中加入如下配置:

# Binary Logging.

log-bin=db-log#

binlog-format=Row

log-bin:表示日志文件名,这里也可以写绝对路径如:log-bin=e:\db\data\db-log

binlog-format:的取值有三个:

STATEMENT,ROW,MIXED。

① STATEMENT模式(SBR)

每一条会修改数据的sql语句会记录到binlog中。优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binlog日志量,节约IO,提高性能。缺点是在某些情况下会导致master-slave中的数据不一致(如sleep()函数, last_insert_id(),以及user-defined functions(udf)等会出现问题)

② ROW模式(RBR)

不记录每条sql语句的上下文信息,仅需记录哪条数据被修改了,修改成什么样了。而且不会出现某些特定情况下的存储过程、或function、或trigger的调用和触发无法被正确复制的问题。缺点是会产生大量的日志,尤其是alter table的时候会让日志暴涨。

③ MIXED模式(MBR)

以上两种模式的混合使用,一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式。


通过上面的配置后重启mysql服务

net stop mysql57

net start mysql57

查看是否开启:

show variables like 'log_bin';

show binary logs;

如果日志文件没有给定决定路径,那日志默认路径在如下:

C:\ProgramData\MySQL\MySQL Server 5.7\Data


binlog常用操作命令:

# 是否启用binlog日志
show variables like 'log_bin';

# 查看详细的日志配置信息
show global variables like '%log%';

# mysql数据存储目录
show variables like '%dir%';

# 查看binlog的目录
show global variables like "%log_bin%";

# 查看当前服务器使用的biglog文件及大小
show binary logs;

# 查看主服务器使用的biglog文件及大小

# 查看最新一个binlog日志文件名称和Position
show master status;

# 事件查询命令
# IN 'log_name' :指定要查询的binlog文件名(不指定就是第一个binlog文件)
# FROM pos :指定从哪个pos起始点开始查起(不指定就是从整个文件首个pos点开始算)
# LIMIT [offset,] :偏移量(不指定就是0)
# row_count :查询总条数(不指定就是所有行)
show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];

# 查看 binlog 内容
show binlog events;

# 查看具体一个binlog文件的内容 (in 后面为binlog的文件名)
show binlog events in 'master.000003';

# 设置binlog文件保存事件,过期删除,单位天
set global expire_log_days=3; 

# 删除当前的binlog文件
reset master; 

# 删除slave的中继日志
reset slave;

# 删除指定日期前的日志索引中binlog日志文件
purge master logs before '2019-03-09 14:00:00';

# 删除指定日志文件
purge master logs to 'master.000003';

关注+转发 谢谢

Spring MVC 异步请求方式

spring data jpa 高级应用

Spring Cloud Sentinel 基础配置

Spring Cloud Sentinel 流控限流

SpringBoot多数据源配置详解

SpringMVC参数统一验证方法

springboot mybatis jpa 实现读写分离

SpringCloud Hystrix实现资源隔离应用

SpringBoot开发自己的Starter

最近发表
标签列表