五、SQL语言4 日志
1.日志分类
错误日志error log
启动,停止,关闭失败报错。 rpm安装日志位置/var/log/mysqld.log
通用查询日志general query log
所有的查询都记下来
二进制日志binary log
实现备份,增量备份。只记录改变数据,除了select都记。
中继日志relay log
读取主服务器的binlog,在本例回放。保持一致。
慢查询日志slow query log
指导调优,定义某一个查询语句,定义超时时间,通过日志提供调优建议给开发人员。
定义语句的日志DDL log
2.Error log
进入主配置文件,观察日志是否启动
vim /etc/my.cnf
log-error=/var/log/mysqld.log 该字段,标记是否启动日志,以及日志位置。
如果哪天mysql服务起不来了,请来这个文件看看
3.Binary log
vim /etc/my.cnf
log_bin 添加该字段。指启动二进制日志
server-id=2 群集问题,必须指定该主机的序号。数字随意
systemctl restart mysqld 重启数据库
查看二进制日志文件当前状态
ls /var/lib/mysql | grep bin 查询二进制文件生成完成
mysqlbinlog -v /var/bin/mysql/localhost-bin.000001 查看二进制文件日志
进入数据库进行数据操作
mysql -uroot -p'Qianfeng@123' -e 'create database aaaaaa;'
完成二进制日志启动,查询测试
mysqlbinlog -v /var/bin/mysql/localhost-bin.000001
4.Slow Query Log
默认慢查询日志未开启
vim /etc/my.cnf
加入以下两行
slow_query_log=1
long_query_time=3
:wq
重启mysql服务
systemctl restart mysqld
查看
ls /etc/lib/mysqld/ | grep slow
模拟慢查询
mysql -uroot -p'Qianfeng@123'
select benchmark(1000000000,2*3); 数据库压测工具
\q
验证慢查询日志
cat /var/lib/mysql/localhost-slow.log 观察查询日志记录,记录了刚才超长的查询结果。可以反馈给开发部,进行优化。