我的 MySQL 版本详细信息是
- 服务器:通过 UNIX 套接字的本地主机
- 软件:MySQL
- 软件版本:5.0.96-community-log - MySQL 社区版 (GPL)
- 协议(protocol)版本:10
如何开启 MySQL 慢查询日志?
最佳答案
5.1.6 及以上版本:
1.进入 MySQL shell 并运行以下命令:
设置全局 slow_query_log = 'ON';
<强>2。启用任何其他所需的选项。以下是一些常见示例:
预期检索所有行而不是使用索引的查询的日志详细信息:
set global log_queries_not_using_indexes = 'ON'
设置慢查询日志的路径:
set global slow_query_log_file ='/var/log/mysql/slow-query.log';
设置查询在被记录之前需要运行的时间量:
set global long_query_time = 20;
(default is 10 seconds)
3.进入 MySQL shell 并运行以下命令,确认更改处于事件状态:
show variables like '%slow%';
低于 5.1.6 的版本:
使用您喜欢的文本编辑器编辑/etc/my.cnf 文件 vi/etc/my.cnf
在“[mysqld]”部分下添加以下行。随意将日志文件的路径更新为您想要的任何内容:
log-slow-queries=/var/log/mysql/slow-query.log
3.根据需要启用其他选项。以下是上述相同的常用示例:
设置查询在被记录之前需要运行的时间量:
`long_query_time=20
(default is 10 seconds)`
预期检索所有行而不是使用索引的查询的日志详细信息:
`log-queries-not-using-indexes`
4.重启 MySQL 服务:
service mysqld restart
5.通过进入 MySQL shell 并运行以下命令来确认更改是事件的:
show variables like '%slow%';
更新:1
根据 MySQL 文档,错误 #1193 发生在您使用错误的 SQLSTATE 代码时。
Message: Unknown system variable %s
而且,正如您在同一页面上看到的,SQLSTATE 99003 未定义。
引用这个链接:
关于mysql - 如何启用 MySQL 慢查询日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22609257/