日志系统是我们在进行测试或者遇到什么问题时候必要的分析工具。
mysql中也存在着日志系统:
SQL慢查询日志:
用于记录mysql中响应时间超过一定值的sql语句;
检查是否开启慢查询:
show varibales like 'slow_query_log';
复制
开启/关闭慢查询日志:
#0为关,1为开
set global slow_query_log=1/0;
复制
在这里设置开关慢查询只是临时设置的,重启mysql服务后又会恢复到默认,如果想永久开启需要修改my,ini的配置文件。
查看和修改时间限制
#查看
show variables like 'long_query_time';
#修改
set long_query_time=时间;
复制
修改了时间并不会马上生效,需要重新连接mysql服务器。
查看/修改日志存储位置
#查看存储位置
show variables like 'show_query_log_file';
#修改存储的位置
set global slow_query_log_file = 路径
#修改存储方式为表
#1
set global log_output ='table';
#2.在mysql数据库下有一个slow_log的表,用表存储会把日志信息存在该表中
set global slow_query_log_file = slow_log;
复制
全局日志:
profiles:
查看全局的sql花费的时间,不够精确。
查看是否开启全局日志:
show variables like 'profiling';
复制
开启/关闭全局日志:
#开为1,关为0
set profiling =1;
复制
修改后会立刻生效,他会记录你的一切sql语句分析。
查看语句分析:
show profiles;
复制
精细查看(sql诊断):
在profile记录中会有一个query_id,可以通过id来去分析更精确的信息。
#all可以换成你要查询的字段
show profile all for 查询的query_id;
#一般情况要查询的字段
show profile cpu,block io for 查询的query_id
复制
具体字段含义请参考:https://blog.csdn.net/ty_hf/article/details/54895026
全局查询日志:
记录开启之后的全部sql语句,测试的时候开,上线千万不要开
查看开启状态:
show variables like general_log;
复制
开启/关闭
#关为0,开为1
set global general_log =1;
复制
查看存储位置:
show variables like 'general_log_file';
复制
修改存储位置:
#修改到其他位置
set global general_log_file ='地址';
#修改为表存储,表为mysql下的general.log
set global log_output='table';
复制
文章转载自大学生IT学习之家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1327次阅读
2025-03-13 11:40:53
MySQL8.0统计信息总结
闫建(Rock Yan)
500次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
469次阅读
2025-03-13 14:38:19
SQL优化 - explain查看SQL执行计划(一)
金同学
397次阅读
2025-03-13 16:04:22
MySQL突然崩溃?教你用gdb解剖core文件,快速锁定“元凶”!
szrsu
377次阅读
2025-03-13 00:29:43
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
chengang
330次阅读
2025-03-17 10:36:40
MySQL数据库当前和历史事务分析
听见风的声音
302次阅读
2025-04-01 08:47:17
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
250次阅读
2025-03-28 16:28:31
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
240次阅读
2025-03-10 07:58:44
墨天轮个人数说知识点合集
JiekeXu
236次阅读
2025-04-01 15:56:03