#我的第二十四堂云计算课# #开源数据库MySQL DBA运维实战 第4章 SQL3 (二)日志#

第4章 SQL3 (二)日志

一、日志分类:
1、错误日志 :启动,停止,关闭失败报错。rpm安装日志位置 /var/log/mysqld.log
2、通用查询日志:所有的查询都记下来。
3、二进制日志:实现备份,增量备份。只记录改变数据,除了select都记。
4、中继日志:读取主服务器的binlog,在本地回放。保持一致。
5、slow log:慢查询日志,指导调优,定义某一个查询语句,定义超时时间,通过日志提供调优建议给开发人员。
6、 DDL log: 定义语句的日志。
例图:
#我的第二十四堂云计算课# #开源数据库MySQL DBA运维实战 第4章 SQL3 (二)日志#
二、Error Log:
1、进入主配置文件,观察日志是否启动: vim /etc/my.cnf
log-error=/var/log/mysqld.log // 该字段,标记是否启动日志,以及日志位置。
注意:如果哪天mysql服务起不来了,请来这个日志文件看看。
2、Binary Log(默认没有开启,二进制日志):
(1)启动二进制日志:vim /etc/my.cnf
在vim中找到【mysqld】在其下方写入:
log_bin //添加该字段。指启动二进制日志
server-id=2 //群集问题,必须指定该主机的序号。数字随意
然后启动数据库:systemctl restart mysqld
(2)测试:
①查看二进制日志文件当前状态:
ls /var/lib/mysql/bin //查询二进制文件生成完成
mysqlbinlog -v /var/lib/mysql/localhost-bin.000001 //查看二进制文件日志
#at 123 //找到一个记录位置
②进入数据库,进行数据操作:创库,创表,创数据(过程略)
③完成二进制日志启动,查询测试:mysqlbinlog -v /var/lib/mysql/localhost-bin.000001
例图:
#我的第二十四堂云计算课# #开源数据库MySQL DBA运维实战 第4章 SQL3 (二)日志#
三、Slow Query Log(默认慢查询日志未开启):
1、开启慢查询日志:vim /etc/my.cnf
在vim中找到【mysqld】在其下方写入:
slow_query_log=1 //启动慢查询日志,这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句
long_query_time=3 //当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短
然后启动数据库:systemctl restart mysqld
2、查看慢查询日志文件:ll /var/lib/mysql/slow //查看日志文件已经生成
3、模拟慢查询:
mysql> select benchmark(5000000,2*3); //基本测试语句,测试一个超长时间的查询
4、验证慢查询日志:tail /var/lib/mysql/localhost-slow.log //观察长查询日志记录,记录了刚才超长的查询结果,
稍后反馈给开发部,进行优化
例图:
#我的第二十四堂云计算课# #开源数据库MySQL DBA运维实战 第4章 SQL3 (二)日志#
#我的第二十四堂云计算课# #开源数据库MySQL DBA运维实战 第4章 SQL3 (二)日志#