记录mysql中的所有查询

2021-11-20 00:00:00 logging mysql

我可以在我的 mysql 数据库上打开审计日志吗?

Is it possible for me to turn on audit logging on my mysql database?

我基本上想监控所有查询一个小时,并将日志转储到文件中.

I basically want to monitor all queries for an hour, and dump the log to a file.

推荐答案

UPDATE: NO LONGER VALID FOR MYSQL 5.6+

UPDATE: NO LONGER VALID FOR MYSQL 5.6+

使用 --log 选项启动 mysql:

Start mysql with the --log option:

mysqld --log=log_file_name

或将以下内容放入您的 my.cnf 文件中:

or place the following in your my.cnf file:

log = log_file_name

任何一个都会将所有查询记录到 log_file_name.

Either one will log all queries to log_file_name.

您还可以使用 --log-slow-queries 选项而不是 --log 选项仅记录慢查询.默认情况下,需要 10 秒或更长时间的查询被认为是缓慢的,您可以通过将 long_query_time 设置为查询在被记录之前必须执行的秒数来更改这一点.

You can also log only slow queries using the --log-slow-queries option instead of --log. By default, queries that take 10 seconds or longer are considered slow, you can change this by setting long_query_time to the number of seconds a query must take to execute before being logged.

相关文章