Fli*_*McF 755
对于那些有MySQL> = 5.1.12的人,您可以在运行时全局控制此选项:
SET GLOBAL log_output = 'TABLE';SET GLOBAL general_log = 'ON';mysql.general_log如果您希望输出到文件而不是表:
SET GLOBAL log_output = "FILE"; 默认.SET GLOBAL general_log_file = "/path/to/your/logfile.log";SET GLOBAL general_log = 'ON';我更喜欢这种方法来编辑.cnf文件,因为:
my.cnf文件,并可能永久打开日志记录/var/log /var/data/log /opt /home/mysql_savior/var有关更多信息,请参阅 MySQL 5.1参考手册 - 服务器系统变量 - general_log
Pau*_*xon 42
您可以为该类诊断启用常规查询日志.通常,您不会在生产服务器上记录所有SELECT查询,但这是性能杀手.
编辑你的MySQL配置,例如/etc/mysql/my.cnf - 查找或添加这样的行
[mysqld]
log = /var/log/mysql/mysql.log
Run Code Online (Sandbox Code Playgroud)
现在就可以重新启动mysql以获取更改
tail -f /var/log/mysql/mysql.log
Run Code Online (Sandbox Code Playgroud)
嘿presto,你可以看到他们进来的问题.
Rok*_*san 16
您可以执行流动的操作来监视mysql查询日志.
打开mys.cn配置文件my.cnf
sudo nano /etc/mysql/my.cnf
Run Code Online (Sandbox Code Playgroud)
在[mysqld]标题下搜索以下行并取消注释这些行以启用日志
general_log_file = /var/log/mysql/mysql.log
general_log = 1
Run Code Online (Sandbox Code Playgroud)
重新启动mysql服务器以反映更改
sudo service mysql start
Run Code Online (Sandbox Code Playgroud)
使用终端中的以下命令监视mysql服务器日志
tail -f /var/log/mysql/mysql.log
Run Code Online (Sandbox Code Playgroud)
zlo*_*ctb 14
SELECT * FROM mysql.general_log WHERE command_type ='Query' LIMIT total;
Run Code Online (Sandbox Code Playgroud)
1)如果启用了一般的mysql日志记录,那么我们可以根据我们在配置中提到的内容检查日志文件或表中的查询.使用以下命令检查启用的内容
mysql> show variables like 'general_log%';
mysql> show variables like 'log_output%';
Run Code Online (Sandbox Code Playgroud)
如果我们需要表中的查询历史记录
Execute SET GLOBAL log_output = 'TABLE';
Execute SET GLOBAL general_log = 'ON';
Run Code Online (Sandbox Code Playgroud)
看一下mysql.general_log表
如果您希望输出到文件:
SET GLOBAL log_output = "FILE"; which is set by default.
SET GLOBAL general_log_file = "/path/to/your/logfile.log";
SET GLOBAL general_log = 'ON';
Run Code Online (Sandbox Code Playgroud)
2)我们还可以检查.mysql_history文件cat~/.mysql_history中的查询