首页 > 其他 > 详细

07-工具日志管理

时间:2020-02-25 22:06:34      阅读:66      评论:0      收藏:0      [点我收藏+]

1. 错误日志

作用 :
记录MySQL从启动以来,所有的状态,警告,错误。
为我们定位数据库问题,提供帮助。

配置方法

vim /etc/my.cnf ->log_error=/tmp/mysql.log

说明: 日志目录必须得提前有,并且mysql有权限写入。

2. binlog二进制日志

作用:
主要记录数据库变化(DDL,DCL,DML)性质的日志。是逻辑层性质日志。
数据恢复,主从复制中应用

配置
默认: 8.0版本以前,没有开启。我们建议生产开启。
vim /etc/my.cnf
server_id=6 # 主机编号。主从中使用,5.7以后开binlog要加此参数
log_bin=/data/binlog/mysql-bin # 日志存放目录+日志名前缀,例如: mysql-bin.000001 mysql-bin.000002
sync_binlog=1 # binlog日志刷盘策略,双一中的第二个1。每次事务提交立即刷写binlog到磁盘。
binlog_format=row # binlog的记录格式为row模式

说明: 一定要和数据盘分开.用来数据备份恢复

mkdir -p /data/binlog/

chown -R mysql.mysql /data/*

重启生效

binlog记录内容详解

binlog是SQL层的功能。记录的是变更SQL语句,不记录查询语句。

记录SQL语句种类

DDL :原封不动的记录当前DDL(statement语句方式)。
DCL :原封不动的记录当前DCL(statement语句方式)。
DML :只记录已经提交的事务DML(insert , update ,delete)

DML三种记录方式

  binlog_format(binlog的记录格式)参数影响
(1)statement(5.6默认)SBR(statement based replication) :语句模式原封不动的记录当前DML。
(2)ROW(5.7 默认值) RBR(ROW based replication) :记录数据行的变化(用户看不懂,需要工具分析)
(3)mixed(混合)MBR(mixed based replication)模式  :以上两种模式的混合

event(事件)

二进制日志的最小记录单元
对于DDL,DCL,一个语句就是一个event
对于DML语句来讲:只记录已提交的事务。

例如以下列子,就被分为了4个event
            position
            start  stop
begin;      120  - 340
DML1        340  - 460
DML2        460  - 550
commit;     550  - 760

event的组成

三部分构成:
(1) 事件的开始标识
(2) 事件内容
(3) 事件的结束标识

Position:
开始标识: at 194
结束标识: end_log_pos 254

binlog的查看

查看开启情况
select @@log_bin;
select @@log_bin_basename;

二进制内置查看命令

(1)查看目前有几个日志文件

mysql> show binary logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000001 | 177 |
| mysql-bin.000002 | 154 |
+------------------+-----------+

(2)查看当前再用的binlog
mysql> show master status ;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 | 154 | | | |
+------------------+----------+--------------+------------------+-------------------+

(3)查看二进制日志事件。

mysql> create database panky charset utf8mb4;
mysql> show binlog events in ‘mysql-bin.000002‘;
mysql> grant all on *.* to root@‘10.0.0.%‘ identified by ‘123‘;
mysql> show binlog events in ‘mysql-bin.000002‘;
mysql> use world
mysql> begin;
Query OK, 0 rows affected (0.00 sec)
mysql> delete from city where id<10;
Query OK, 8 rows affected (0.00 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)

 

07-工具日志管理

原文:https://www.cnblogs.com/metoyou/p/12363857.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!