在使用mysql的过程中有时需要查看应用程序的sql语句,mysql提供了多种log以记录执行过的sql,比如:slow_query_log(慢查询),general_log(通用查询))等。
打开某种查询,只需将对应变量设置为ON即可,关闭设置为OFF,如打开通用查询:
set global general_log = 'ON';
set global general_log = 'OFF';
set global slow_query_log = 'ON';
set global slow_query_log = 'OFF';
mysql的log记录方式有两种,文件和数据库,用log_output变量控制,如:
set global log_output = 'FILE';#将日志记录在文件中,这是默认的方式
或
set global log_output = 'TABLE';#将日志记录在数据库中
若将日志记录在文件中,文件的位置有变量*log_file控制,如:
set global general_log_file = 'd:/data/';#若没有设置,默认为mysql安装路径下的data文件夹
set global slow_query_log_file = 'd:/data/';#若没有设置,默认为mysql安装路径下的data文件夹
若将日志记录在数据库中,慢查询对应的表为mysql.slow_log,通用查询对用的表为mysql.general_log,如:
show create table mysql.general_log;#查看表结构
select * from mysql.general_log;#查看表中的数据
若想查看当前有关日志变量的配置情况,可按如下方式:
show variables where variable_name like '%log'%;
详细的配置见
官方文档。