Roy Hinkley Asked: 2017-02-10 13:47:54 +0800 CST2017-02-10 13:47:54 +0800 CST 2017-02-10 13:47:54 +0800 CST mysql max_connections 限制重置 772 上周我使用 mysql max_connections 从 151 更新到 1000 use mysql; set global max_connections = 1000; 今天,托管公司停电,服务器关闭,然后重新启动。重新启动后,max_connections 变量被重置为 151。 这是默认行为吗?如何防止 max_connections global 被重置? 参考: MySQL 5.7 mysql mysql-5.7 2 个回答 Voted Best Answer RolandoMySQLDBA 2017-02-10T14:01:00+08:002017-02-10T14:01:00+08:00 是的,这是默认行为。如何 ?max_connections 的默认值为 151。 这适用于MySQL 5.7、MySQL 5.6和MySQL 5.5 如果/etc/my.cnf没有 max_connections,则 151 作为 max_connections 出现。 你可以运行set global max_connections = 1000;。 您的托管公司必须/etc/my.cnf为您输入该条目 [mysqld] max_connections=1000 否则,每次重启 mysqld 都会将 max_connections 重置为 151。 我以前建议过这个 Jul 06, 2012:如何解决在 vps 上运行的 mysql 中的连接过多和致命错误 Rick James 2017-02-10T21:46:20+08:002017-02-10T21:46:20+08:00 为了解决你问题的另一部分...... 不管托管公司是否允许您更改变量,让我们讨论一下为什么需要超过 151。 如果这是一个网站,那么每个页面都应该连接,做一些事情,然后快速断开连接。这是一个罕见的需要超过 20 个连接的网站。 如果 Web 服务器(例如 Apache)配置不佳,例如MaxClients= 某个大数字,则应该修复该问题。152 个(甚至 30 个)争夺资源的 Web 客户端只会陷入困境,延长延迟,而不会提高吞吐量。 如果您有长时间保持连接打开的“慢”查询;让我们看看它们;加快它们的速度可能会解决您对超过 151 个连接的“需求”。 如果您有一个严重过载的系统,请考虑复制,其中您可以有多个从站,每个从站为只读查询提供 151 个连接。 PS:MySQL 8.0 将允许您以不同的方式设置全局变量。
是的,这是默认行为。如何 ?max_connections 的默认值为 151。
这适用于MySQL 5.7、MySQL 5.6和MySQL 5.5
如果
/etc/my.cnf
没有 max_connections,则 151 作为 max_connections 出现。你可以运行
set global max_connections = 1000;
。您的托管公司必须
/etc/my.cnf
为您输入该条目否则,每次重启 mysqld 都会将 max_connections 重置为 151。
我以前建议过这个
Jul 06, 2012
:如何解决在 vps 上运行的 mysql 中的连接过多和致命错误为了解决你问题的另一部分......
不管托管公司是否允许您更改变量,让我们讨论一下为什么需要超过 151。
如果这是一个网站,那么每个页面都应该连接,做一些事情,然后快速断开连接。这是一个罕见的需要超过 20 个连接的网站。
如果 Web 服务器(例如 Apache)配置不佳,例如
MaxClients
= 某个大数字,则应该修复该问题。152 个(甚至 30 个)争夺资源的 Web 客户端只会陷入困境,延长延迟,而不会提高吞吐量。如果您有长时间保持连接打开的“慢”查询;让我们看看它们;加快它们的速度可能会解决您对超过 151 个连接的“需求”。
如果您有一个严重过载的系统,请考虑复制,其中您可以有多个从站,每个从站为只读查询提供 151 个连接。
PS:MySQL 8.0 将允许您以不同的方式设置全局变量。