diff --git a/第四章:数据库日志管理.md b/第四章:数据库日志管理.md deleted file mode 100644 index 974d4e0..0000000 --- a/第四章:数据库日志管理.md +++ /dev/null @@ -1,135 +0,0 @@ -

数据库日志管理

- -**作者:行癫(盗版必究)** - ------- - -## 一:日志管理 - -image-20220925214046253 - -#### 1.日志分类 - -​ 错误日志 :启动,停止,关闭失败报错。rpm安装日志位置 /var/log/mysqld.log - -​ 通用查询日志:所有的查询都记下来 - -​ 二进制日志:实现备份,增量备份。只记录改变数据,除了select都记 - -​ 中继日志:读取主服务器的binlog,在本地回放。保持一致 - -​ slow log:慢查询日志,指导调优,定义某一个查询语句,定义超时时间,通过日志提供调优建议给开发人员 - -​ DDL log: 定义语句的日志 - -#### 2.Error Log - -```shell -log-error=/var/log/mysqld.log -``` - -#### 3.Binary Log - -``` -log-bin=/var/log/mysql-bin/slave2 -server-id=2 - -[root@slave2 ~]# mkdir /var/log/mysql-bin -[root@slave2 ~]# chown mysql.mysql /var/log/mysql-bin/ -[root@slave2 ~]# systemctl restart mysqld -``` - -注意: - -​ 需要提前开启 - -查看binlog日志: - -```shel -[root@slave2 ~]# mysqlbinlog slave2-bin.000001 -v --base64-output=decode-rows - 时间点 : 141126 14:04:49 - 位置点 : at 106 -注: -1. 重启mysqld 会截断 -2. flush logs 会截断 -3. reset master 删除所有binlog rm -rf /var/lib/mysql/*.000001 -4. 删除部分 -PURGE BINARY LOGS TO 'mysql-bin.010'; -PURGE BINARY LOGS BEFORE '2019-04-02 22:46:26'; - -截取binlog -all: -# mysqlbinlog mysql.000002 - -datetime: -# mysqlbinlog mysql.000002 --start-datetime="2018-12-05 10:02:56" -# mysqlbinlog mysql.000002 --stop-datetime="2018-12-05 11:02:54" -# mysqlbinlog mysql.000002 --start-datetime="2018-12-05 10:02:56" --stop-datetime="2018-12-05 11:02:54" - -position: -# mysqlbinlog mysql.000002 --start-position=260 -# mysqlbinlog mysql.000002 --stop-position=260 -# mysqlbinlog mysql.000002 --start-position=260 --stop-position=930 -``` - -#### 4.Slow Query Log - -开启慢查询日志: - -```shell -[root@xingdian ~]# vim /etc/my.cnf -slow_query_log=1 -slow_query_log_file=/var/log/mysql-slow/slow.log -long_query_time=3 设置慢查询超时时间 单位是:秒 -``` - -创建对应目录: - -```shell -[root@xingdian ~]# mkdir /var/log/mysql-slow -[root@xingdian ~]# chown mysql.mysql mysql-slow -``` - -重启服务: - -```shell -[root@xingdian ~]# systemctl restart mysqld -``` - -验证: - -```shell -[root@xingdian ~]# mysql -uroot -pQianFeng@123 -mysql: [Warning] Using a password on the command line interface can be insecure. -Welcome to the MySQL monitor. Commands end with ; or \g. -Your MySQL connection id is 2 -Server version: 5.7.39-log MySQL Community Server (GPL) - -Copyright (c) 2000, 2022, Oracle and/or its affiliates. - -Oracle is a registered trademark of Oracle Corporation and/or its -affiliates. Other names may be trademarks of their respective -owners. - -Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. - -mysql> select sleep(6); -+----------+ -| sleep(6) | -+----------+ -| 0 | -+----------+ -1 row in set (6.00 sec) - -mysql> exit -Bye -[root@xingdian ~]# cat /var/log/mysql-slow/slow.log -/usr/sbin/mysqld, Version: 5.7.39-log (MySQL Community Server (GPL)). started with: -Tcp port: 0 Unix socket: /var/lib/mysql/mysql.sock -Time Id Command Argument -# Time: 2022-09-25T06:58:05.496205Z -# User@Host: root[root] @ localhost [] Id: 2 -# Query_time: 6.007094 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0 -SET timestamp=1664089085; -select sleep(6); -```