MySQL Genlog记录的是所有连接MySQL服务器的客户端的操作,如执行一个SQL查询,连接到服务器,退出服务器等。而Binary Log则记录的是MySQL守护进程所执行的SQL语句。相比之下,Genlog更加详细,它可以记录检索每个SQL查询所消耗的时间。此外,Genlog还可以用于排查服务器的高负载问题。
接下来大家一起来看看如何启用和配置MySQL Genlog:
# # Set the log destination, filename, and position. # log-output = FILE general-log-file = /path/to/mysql-gen.log general-log = 1
首先,在MySQL的配置文件中,需要将日志输出方式设置为FILE,并将日志文件路径设置为想要保存日志的文件名路径。general-log为1则表示开启Genlog文件记录。
[mysqld] # # Set the slow query log file name and location. # slow-query-log-file = /path/to/mysql-slow.log # # Set the long query time threshold for the slow query log. # long_query_time = 10
有了Genlog文件后,大家还可以通过设置slow-query-log-file和long_query_time,将查询时间超过long_query_time的查询记录到slow-log文件中。从而帮助大家排查出慢查询语句,进行性能优化。
总结:MySQL Genlog文件可以帮助大家记录所有MySQL数据库的操作,并且可以用于排查服务器的高负载问题。启用和配置Genlog文件可以通过修改MySQL的配置文件进行实现。