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