如何启用MySQL查询日志?

如何启用MySQL查询日志?

如何启用MySQL函数来记录从客户端收到的每个SQL查询语句以及查询语句提交的时间?我可以在phpmyadmin或NaviCat中这样做吗?如何分析日志?



缥缈止盈
浏览 782回答 3
3回答

大话西游666

看一下另一个相关问题的答案。它展示了如何在不重新启动的情况下启用、禁用和查看活动服务器上的日志。在MySQL中记录所有查询以下是一个总结:如果不希望或不能重新启动MySQL服务器,则可以在正在运行的服务器上进行如下操作:创建日志表(请参见回答)启用数据库上的查询日志记录(请注意,字符串“表”应按字面顺序放置,而不应被任何表名所取代。谢谢尼古拉斯·皮克林)SET global general_log = 1;SET global log_output = 'table';查看日志select * from mysql.general_log;禁用数据库上的查询日志记录SET global general_log = 0;

暮色呼如

当我想快速优化不同的页面加载时,我使用此方法进行日志记录。这是个小提示.。登录到表SET&nbsp;global&nbsp;general_log&nbsp;=&nbsp;1;SET&nbsp;global&nbsp;log_output&nbsp;=&nbsp;'table';然后,您可以从我的mysql.general_log表检索最近的查询。然后我可以做一些类似的事情tail -f在mysql.log上,但是有了更多的改进.。select&nbsp;*&nbsp;from&nbsp;mysql.general_log&nbsp; where&nbsp;&nbsp;event_time&nbsp;&nbsp;>&nbsp;(now()&nbsp;-&nbsp;INTERVAL&nbsp;8&nbsp;SECOND)&nbsp;and&nbsp;thread_id&nbsp;not&nbsp;in(9&nbsp;,&nbsp;628)and&nbsp;argument&nbsp;<>&nbsp;"SELECT&nbsp;1"&nbsp;and&nbsp;argument&nbsp;<>&nbsp;"" &nbsp;and&nbsp;argument&nbsp;<>&nbsp;"SET&nbsp;NAMES&nbsp;'UTF8'"&nbsp;&nbsp;and&nbsp;argument&nbsp;<>&nbsp;"SHOW&nbsp;STATUS"&nbsp;&nbsp;and&nbsp;command_type&nbsp;=&nbsp;"Query"&nbsp;&nbsp;and&nbsp;argument&nbsp;<>&nbsp;"SET&nbsp;PROFILING=1"这使得我很容易看到我可以尝试减少的查询。我只使用8秒间隔来获取在最后8秒内执行的查询。
打开App,查看更多内容
随时随地看视频慕课网APP