2009-06-18 83 views
25

如何配置MySQL数据库。我想看看所有的SQL针对数据库运行。如何配置MySQL

我知道你可以这样做:

  • set profiling=1;
  • 运行的慢查询(例如SELECT * FROM messages WHERE fromaddress='xxx';
  • SHOW PROFILES;

但这似乎只适用于东西上的命令运行行,我想看看运行网站的结果。

+1

很明显,没有什么能阻止你在网站上运行这些查询。我想你要求的方法并不意味着应用程序代码中的修改。 – 2013-08-29 10:29:06

回答

6

你想query log - 但显然这样做在一个重型生产服务器上可能...是不明智的。

1

您可以简单地实时解析查询日志。如果在Linux上,你可以使用tail -f命令来查看日志直播

此外,您还可以从这些家伙尝试一些免费软件:

http://hackmysql.com/mysqlsla

0

MySqlAdministrator有特色一些有用的版本(包括日志查看),但其记录必须为数据库

3

这为我工作在Ubuntu同一台机器上运行。

在Ubuntu上查找并打开您的MySQL配置文件,通常为/etc/mysql/my.cnf。寻找这样的“记录和复制”

# * Logging and Replication 
# Both location gets rotated by the cronjob. 
# Be aware that this log type is a performance killer. 

log = /var/log/mysql/mysql.log 

或在MySQL的新版本中,注释掉的代码

general_log_file  = /var/log/mysql/mysql.log 
general_log    = 1 
log_error    = /var/log/mysql/error.log 

的这行只是取消注释log变量启用日志记录的部分。重启MySQL使用这个命令:

sudo /etc/init.d/mysql restart 

现在,我们已经准备好开始监控查询,他们在打开一个新的终端并运行此命令,以滚动的日志文件,如果有必要调整的路径。

tail -f /var/log/mysql/mysql.log