mysql数据库日志
日志的分类
日志的分类 | 作用 |
错误日志error log | 启动、停止、关闭失败报错,rpm安装日志位置/var/log/mysqld.log |
通用查询日志 | 所有的查询都记录下来 |
二进制日志 | 实现备份、增量备份,只记录改变数据,除去了select都记 |
中继日志 | 读取主服务器的binlog,在本地回放,保持一致 |
slow log | 慢查询日志,指导调优,定义某个查询语句,定义超时时间,通过日志提供调优建议给开发人员 |
DDL log | 定义语句的日志 |
error log
进入主配置文件,观察日志是否启动
vi /etc/my.cnf
主配置文件有这样一行:
log-error=/var/log/mysqld.log
这是错误日志的存放地址。
binary log
二进制日志默认没有开启
启动二进制文件
vi /etc/my.cnf
在主配置文件中另起一行编写以下代码:
log_bin
server-id=2
保存退出,之后重启数据库:
systemctl restart mysqld
可以查询二进制日志文件当前的状态
ls /var/lib/mysql/
localhost-bin.000001
这个就是二进制日志文件
使用特殊的方法查看:
mysqlbinlog -v /var/lib/mysql/localhost-bin.000001
slow query log
慢查询日志默认是没有开启的
首先开启慢查询日志功能:
vi /etc/my.cnf
另起一行编写以下代码
slow_query_log=1
long_query_time=3
保存退出,重启mysql服务
systemctl restart mysql
在/var/lib/mysql中有这样的一个文件:
localhost-slow.log
,这就是慢查询日志,可以使用cat查询一下:
模拟慢查询:
select benchmark(50000000000000000000000000000000000000000000000000000000000,2*3);
验证慢查询日志