一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人,如有侵权请留言,我及时删除。
一、mysql相关日志
首先,我们能接触到的,一般我们排查慢查询时,会去看慢查询日志。如果做过数据备份会恢复的,可能接触或用过BinLog。那还有其他的吗?对MySQL原理比较了解的,应该知道还有Redo Log和Undo Log。这些都是比较常见:慢查询日志、Binlog、Redo Log、Undo Log。
其实,MySQL中还有:错误日志(errorlog)、一般查询日志(general log)、中继日志(relay log),只是这些大家接触少点。
总结下,MySQL中一共七种日志,分别为:慢查询日志、Binlog、Redo Log、Undo Log、错误日志(errorlog)、一般查询日志(general log)、中继日志(relay log)。
1、错误日志 log_error
mysql> show variables like '%log_error%';
2、二进制日志 BINLOG
DDL :原封不动的记录当前DDL(statement语句方式)。
DCL :原封不动的记录当前DCL(statement语句方式)。
DML :只记录已经提交的事务DML
注意:MySQL5.7默认是没有开启二进制日志的,MySQL8以上是默认开启。
基础参数查看:
开关:
[(none)]>select @@log_bin;
日志路径及名字
[(none)]>select @@log_bin_basename;
服务ID号:
[(none)]>select @@server_id;
二进制日志格式:
[(none)]>select @@binlog_format;
双一标准之二:
[(none)]>select @@sync_binlog;
二进制日志详细信息查看
show variables like '%log_bin%';
mysql> show variables like '%log_bin%';
MySQL 5.7版本需要修改my.cnf 开启二进制日志
+++++++配置文件中增加如下内容+++++++
log_bin=/data/mysql/binlog/mylog
+++++++++++++++++++++++++++++++++
mkdir -p /data/mysql/binlog/mysql-bin
chmod -R 777 /data/mysql/binlog/mysql-bin
log_bin=/data/mysql/binlog/mysql-bin
生产上MySQL-bin-log日志文件要和数据文件分开存放,binlog文件权限要赋权777 ,
否则MySQL启动报错