【问题标题】:Mysql my.cnf empty and mysqltunermysql my.cnf 为空和 mysqltuner
【发布时间】:2015-08-03 13:01:40
【问题描述】:

我正在尝试解决我在 Mysql 数据库上遇到的性能问题,为此我正在使用 mysqltuner。 我不明白为什么在 phpmyadmin 和 mysqltuner 中我提到了几个变量,而当我打开 my.cnf 文件时几乎是空的。只有 maxconnections 参数。 其他变量存储在哪里???

【问题讨论】:

    标签: mysql performance my.cnf mysqltuner


    【解决方案1】:

    其他变量是默认值。 My.cnf 仅覆盖默认值。 您可以在此处查找默认值:https://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html

    【讨论】:

    • 嗨 Melanie,对不起,为什么当我在 phpmyadmin 中更改一些变量时,mysqltuner 也会更改他的建议,同时 my.cnf 是空的? mysqltuner 在哪里读取这些值?
    【解决方案2】:

    mysqltuner 大部分来自于

    SHOW GLOBAL VARIABLES;
    SHOW GLOBAL STATUS;
    

    my.cnf 只是对服务器内置的默认静态VARIABLES 的覆盖。 STATUS 是随时间变化的计数器等。

    注意单词GLOBAL。这些是属于您的连接的相应 SESSION 值的默认值。您在 phpmyadmin 中更改的 VARIABLES 不会是永久性的。您必须编辑 my.cnf 并重新启动 mysqld 才能获得永久更改。

    通常您无法调整自己的方式来解决性能问题。一旦您设置了主缓存大小(您使用的是哪个引擎?您有多少内存?),就没有太多其他调整值得做。

    主要的性能提升来自改进查询和/或架构,例如添加复合索引。让我们看一个慢查询,我们可以进一步讨论。

    【讨论】:

      【解决方案3】:

      MysqlTuner 正在运行时读取变量和状态。

      【讨论】:

        猜你喜欢
        • 2011-04-14
        • 1970-01-01
        • 1970-01-01
        • 2011-03-13
        • 1970-01-01
        • 2013-07-22
        • 1970-01-01
        • 1970-01-01
        • 2011-01-29
        相关资源
        最近更新 更多