MySQL(四)

日志

分类

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 . 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     

定义语句的日志

你可能感兴趣的:(运维工具,#,MySQL,linux,运维,mysql,数据库)