【发布时间】:2015-08-03 13:01:40
【问题描述】:
我正在尝试解决我在 Mysql 数据库上遇到的性能问题,为此我正在使用 mysqltuner。 我不明白为什么在 phpmyadmin 和 mysqltuner 中我提到了几个变量,而当我打开 my.cnf 文件时几乎是空的。只有 maxconnections 参数。 其他变量存储在哪里???
【问题讨论】:
标签: mysql performance my.cnf mysqltuner
我正在尝试解决我在 Mysql 数据库上遇到的性能问题,为此我正在使用 mysqltuner。 我不明白为什么在 phpmyadmin 和 mysqltuner 中我提到了几个变量,而当我打开 my.cnf 文件时几乎是空的。只有 maxconnections 参数。 其他变量存储在哪里???
【问题讨论】:
标签: mysql performance my.cnf mysqltuner
其他变量是默认值。 My.cnf 仅覆盖默认值。 您可以在此处查找默认值:https://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html
【讨论】:
mysqltuner 大部分来自于
SHOW GLOBAL VARIABLES;
SHOW GLOBAL STATUS;
my.cnf 只是对服务器内置的默认静态VARIABLES 的覆盖。 STATUS 是随时间变化的计数器等。
注意单词GLOBAL。这些是属于您的连接的相应 SESSION 值的默认值。您在 phpmyadmin 中更改的 VARIABLES 不会是永久性的。您必须编辑 my.cnf 并重新启动 mysqld 才能获得永久更改。
通常您无法调整自己的方式来解决性能问题。一旦您设置了主缓存大小(您使用的是哪个引擎?您有多少内存?),就没有太多其他调整值得做。
主要的性能提升来自改进查询和/或架构,例如添加复合索引。让我们看一个慢查询,我们可以进一步讨论。
【讨论】:
MysqlTuner 正在运行时读取变量和状态。
【讨论】: