mysql 工具日志管理整理
Posted quzq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 工具日志管理整理相关的知识,希望对你有一定的参考价值。
mysql提供的工具类日志种类:
1.错误日志(log_error)
用来记录启动关闭日常运行过程中,状态信息,警告,错误。默认是开启的
1.1 错误日志配置
1 默认就是开启的: /数据路径下/hostname.err 2 查看错误日志位置:select @@log_error; 3 4 手工指定位置: 5 vim /etc/my.cnf 6 log_error=/var/log/mysql.log 7 log_timestamps=system 8 重启生效 9 10 11 show variables like ‘log_error‘;
1.2 日志内容查看
1 主要关注[ERROR],看上下文
2. binlog(binary logs):二进制日志
2.1 作用
1 备份恢复必须依赖二进制日志 2 主从环境必须依赖二进制日志 3 5.x以上版本默认都没有开启二进制日志,需要手动配置来启用
2.2 binlog配置 (5.7必须加server_id)
1 注意:MySQL默认是没有开启二进制日志的。 2 3 基础参数查看: 4 开关状态: select @@log_bin; 5 日志路径及名字:select @@log_bin_basename; 6 服务ID号: select @@server_id; 7 二进制日志格式: select @@binlog_format; 8 双一标准之二: select @@sync_binlog;
2.2.1 创建日志目录
1 mkdir /data/binlog 2 chown -R mysql.mysql /data/binlog
2.2.2 修改配置文件
1 vim /etc/my.cnf 2 3 4 server_id=6 (取值1-65535) 5.6中,单机可以不需要此参数 5 6 # log_bin有两种配置方式,如下讲解 7 log_bin=1 只打开二进制日志开关,文件存放在默认的位置 8 log_bin=/data/binlog/mysql-bin 开启二进制日志,按照路径生成二进制文件,mysql-bin为指定的文件名前缀。 9 指定路径后会在其下额外生成个mysql-bin.index文件,其内存放的是二进制文件的名,便于统计 10 11 binlog_format=row 5.7默认的配置,可省略
2.2.3 重启数据库生效
2.2.4 参数说明
server_id=3306 主要是在主从复制过程中必须要加的,但是在5.7版本中,要用以下参数(log_bin),开启binlog日志,即使是单机也是必加的 log_bin=/data/binlog/mysql-bin (1)开启二进制日志功能 (2)设置二进制日志目录及名称前缀
binlog_format=row binlog中记录dml语句的记录格式
2.3 binlog记录了什么?
2.3.0 引入
1 binlog是SQL层的功能。记录的是变更SQL语句,不记录查询语句。
2.3.1 记录SQL语句种类
DDL :原封不动的记录当前DDL(statement语句方式)。
DCL :原封不动的记录当前DCL(statement语句方式)。
DML :只记录已经提交的事务DML
2.3.2 DML三种记录格式,仅对dml语句有效
binlog_format=xx(binlog的记录格式)参数影响,取值如下: (1)statement(5.6默认)SBR(statement based replication) :语句模式原封不动的记录当前DML。 (2)ROW(5.7 默认值) RBR(ROW based replication) :记录数据行的变化(用户看不懂,需要工具分析) (3)mixed(混合)MBR(mixed based replication)模式 :以上两种模式的混合
2.3.3 三种记录格式如何选取:
1 SBR与RBR模式的对比: 2 3 4 STATEMENT(SBR):可读性较高,日志量少,但是不够严谨 5 ROW(RBR) :可读性很低,日志量大,足够严谨,一些高可用环境中的新特性要依赖RBR模式 6 7 示例: 8 update t1 set xx=xx where id>10 9 SBR会把update语句记录下来, 10 RBR会把所有受影响的行的变化状态给记录下来 11 12 解析: 13 为什么说SBR不严谨或某些情况下不准确呢? 14 insert into t1 values(1,‘zs‘,now())这种场景下使用now获取时间场景 15 16 17 我们建议使用:row记录模式
以上是关于mysql 工具日志管理整理的主要内容,如果未能解决你的问题,请参考以下文章