mysql怎么看执行记录
时间 : 2023-03-08 10:13:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

要查看MySQL的执行记录,可以使用MySQL的慢查询日志或general日志。这些日志文件记录了MySQL服务器中所有SQL查询的详细信息,包括查询的执行时间、执行计划、查询的参数、访问的表等。

要启用慢查询日志和general日志,可以在MySQL的配置文件my.cnf中进行配置。下面是示例配置:

# 启用慢查询日志

slow_query_log = 1

slow_query_log_file = /var/log/mysql/mysql-slow.log

long_query_time = 2

# 启用general日志

general_log = 1

general_log_file = /var/log/mysql/mysql-general.log

上面的配置中,slow_query_log表示启用慢查询日志,slow_query_log_file表示慢查询日志的文件路径,long_query_time表示执行时间超过多少秒的查询才会记录到慢查询日志中。general_log表示启用general日志,general_log_file表示general日志的文件路径。将这些配置添加到my.cnf文件中后,重启MySQL服务器即可生效。

使用慢查询日志查看SQL执行记录

启用了慢查询日志后,MySQL服务器会将执行时间超过long_query_time的查询记录到慢查询日志中。可以使用以下命令查看慢查询日志:

sudo less /var/log/mysql/mysql-slow.log

这个命令会打开慢查询日志文件,并按行显示其中的内容。每一行表示一条慢查询记录,包括查询的执行时间、执行计划、访问的表等信息。

使用general日志查看SQL执行记录

使用general日志可以查看所有执行的SQL语句,不仅限于慢查询。可以使用以下命令启用general日志:

sudo mysql -e "SET global general_log = 'ON';"

这个命令会将general日志开启。查询记录将会自动记录到general日志文件中。可以使用以下命令查看general日志:

sudo less /var/log/mysql/mysql-general.log

读取general日志文件后,可以看到所有执行的SQL语句。

注意:general日志记录了所有SQL语句,包括敏感信息(如密码)。在生产环境中,为了避免泄漏敏感信息,应该只有在需要进行诊断和调试时才启用这个日志。

总结

查看MySQL的执行记录,可以使用慢查询日志和general日志。慢查询日志记录了执行时间超过设定时间的SQL语句,而general日志记录了所有执行的SQL语句。在生产环境中,为了避免泄漏敏感信息,应该只有在需要进行诊断和调试时才启用general日志。