Mysql my.cnf 空和 mysqltuner

Mysql my.cnf empty and mysqltuner

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

其他变量为默认值。 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 以获得永久更改。

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

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

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