[英]activate MySQL slow query log in MySQL 5.5
在尝试激活用户手册提供的 MySQL 慢查询模式 ( http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_slow_query_log_file ) 和其他答案后 ( How do I enable MySQL 慢查询日志? ),它们都因不同的错误消息而失败:
(1) mysql -h ${SERVER_NAME} -B -N -P ${PORT_NAME} -u ${USER_NAME} --password=${PASSWORD} -e "
set global slow_query_log = 'ON';
SET global slow_query_log_file=$HOME/slow-query-log-CLIENT-${CLIENT_ID}-YEARLY-${Local_time}.log;
SELECT * FROM WHATEVER;"
ERROR 1227 (42000) at line 3: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
(2) mysql -h ${SERVER_NAME} -B -N -P ${PORT_NAME} -u ${USER_NAME} --password=${PASSWORD} -e "
set global slow_query_log = 'ON';
SET global slow_query_log_file=$HOME/slow-query-log-CLIENT-${CLIENT_ID}-YEARLY-${Local_time}.log;
SET global log_output=/home/user;
ERROR 1227 (42000) at line 3: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
(3)当我按照MySQL用户手册进行命令行选项操作时,弹出如下错误信息:
mysql -h ${SERVER_NAME} -B -N -P ${PORT_NAME} -u ${USER_NAME} --password=${PASSWORD} -e --slow_query_log --slow_query_log_file=SLOW-CLIENT-${CLIENT_ID}-${Local_time} --global log_output=/home/user "
mysql: unknown variable 'slow_query_log_file='
很令人沮丧。 有上师可以开悟吗?
由于如果服务器崩溃, SETs
将丢失,因此按照您描述的方式进行操作是不切实际的。
某些SETs
需要由特权“root”用户(或其他具有SUPER
特权的用户)设置。
这样做会更好:
更改配置文件(可能是/etc/my.cnf
)
long_query_time = 1
slow_query_log = ON
slow_query_log_file = /usr/mysql/slow.log
(或选择其他一些静态路径和文件名)
然后,为了“循环”日志,有一个 cron 工作
cd /usr/mysql
mv slow.log some-fabricated-name
mysql ... -e "flush logs"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.