代码之家  ›  专栏  ›  技术社区  ›  Dan TheCodeJunkie

如何配置MySQL

  •  25
  • Dan TheCodeJunkie  · 技术社区  · 16 年前

    如何配置MySQL数据库。我希望看到所有的SQL都是针对数据库运行的。

    我知道你能做到:

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

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

    5 回复  |  直到 10 年前
        1
  •  6
  •   Tom Ritter    16 年前

    你想要 query log -但显然,在大型生产服务器上执行此操作可能是…不明智的

        2
  •  3
  •   Sergey Telshevsky    11 年前

    在Ubuntu上对我很有用。

    找到并打开mysql配置文件,通常 /etc/mysql/my.cnf 在Ubuntu上。查找“日志记录和复制”部分

    # * 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
    
        3
  •  1
  •   Bryan Migliorisi    16 年前

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

    此外,你还可以从这些人那里尝试一些免费软件:

    http://hackmysql.com/mysqlsla

        4
  •  1
  •   Sergey Telshevsky    11 年前

    有一种商业产品

    http://www.webyog.com/en/

        5
  •  0
  •   buddy    16 年前

    mysqlAdministrator有一些有用的内置功能(包括日志视图),但对于日志,它必须与数据库在同一台计算机上运行。