日志
分类
error log
错误日志,启动、停止关闭MySQL等错误记录
日志位置
RPM方式安装位于 /var/log/mysqld.log
开启error log
[root@wenzi mysql]# vim /etc/my.cnf
...
#开启
log-error=/var/log/mysqld.log
重启
测试
[root@wenzi mysql]# systemctl stop mysqld
[root@wenzi mysql]# tail -10 /var/log/mysqld.log
...
2023-09-07T17:14:45.348581Z 0 [System] [MY-013172] [Server] Received SHUTDOWN from user <via user signal>. Shutting down mysqld (Version: 8.0.34).
2023-09-07T17:14:46.228332Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.34) MySQL Community Server - GPL.
general query log
通用查询日志,所有的查询都记录下来
binary log
二进制日志,实现备份,增量备份,只记录变更的数据,即除了select其余都记录
日志位置
/var/lib/mysql/ 目录下
开启binary log
[root@wenzi mysql]# vim /etc/my.cnf
...
#此mysql的标识,mysql集群中使用,不可重复,数字格式
server-id=1
#开启二进制日志
log_bin
重启
测试
# -e选项可以不登录mysql执行sql语句
[root@wenzi mysql]# mysql -uroot -p'Admin.123' -e 'create database aaaaaaaaaaaaaaaaaaaaaa;'
[root@wenzi mysql]# mysqlbinlog -v /var/lib/mysql/wenzi-bin.000001
...
/*!80016 SET @@session.default_table_encryption=0*//*!*/;
create database aaaaaaaaaaaaaaaaaaaaaa
/*!*/;...
relay log
中继日志,读取主服务器的binary log,在本地回放,保持一致
slow query log
慢查询日志,指导调优,定义某一查询语句,定义查询超时时间,通过日志提供调优给开发人员
日志位置
/var/lib/mysql/ 目录下
开启slow query log
[root@wenzi mysql]# vim /etc/my.cnf
#开启慢查询,1表示开启 ,2 表示关闭
slow_query_log=1
#sql语句执行时间超过2秒就被视为慢查询;默认是10秒
long_query_time=2
重启
测试
mysql> select benchmark(500000000,2*3);
+--------------------------+
| benchmark(500000000,2*3) |
+--------------------------+
| 0 |
+--------------------------+
1 row in set (5.69 sec)[root@wenzi mysql]# tail /var/lib/mysql/wenzi-slow.log
# Time: 2023-09-07T17:44:38.037516Z
# User@Host: root[root] @ localhost [] Id: 8
# Query_time: 5.688380 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 1
SET timestamp=1694108672;
select benchmark(500000000,2*3);
DDL log
定义语句的日志