3

我需要一些帮助才能在 MySql 中永久设置 MAX 连接值。我已经尝试过,但我找不到永久的解决方案。现在,我通过更改命令提示符来使用临时解决方案,如本文所示

4

4 回答 4

12

由于这个问题在人们搜索解决方案时会出现在搜索结果中,而且现在解决方案已经改变,我觉得有必要发布一个答案。
Ubuntu 15.04+不再/etc/security/limits.conf遵守. 因此,如果您设置了最大连接数但没有看到任何效果,请查看日志文件,sudo vim /var/log/mysql/error.log您会看到Changed limits: max_connections: 214 (requested 5000).

解决方案:
将 mysql 的限制从 systemd 配置文件复制到/etc/systemd使用:

sudo cp /lib/systemd/system/mysql.service /etc/systemd/system/
sudo vim /etc/systemd/system/mysql.service  

然后将以下行添加到文件的底部:

LimitNOFILE=infinity
LimitMEMLOCK=infinity 

您也可以使用有限数而不是无穷大。

现在重新加载 systemd 配置:

sudo systemctl daemon-reload
于 2017-02-01T22:43:38.227 回答
4

非常感谢我将代码插入到 MY.ini 文件中,它解决了问题。

在 [mysqld] 部分下的 c:/xampp/mysql/bin/my.ini 文件中,我插入了以下行

**

最大连接数 = 250

** 稍后重启xampp服务器生效。

如果我们给 set-variable=max_connections=250 Mysql 服务器没有启动。

再次非常感谢您。

于 2014-06-03T04:59:12.767 回答
1

您可以在 my.cnf、Mysql Doc中进行设置

我引用

You can increase this value in main config file (e.g., /etc/my.cnf or /etc/mysql/my.cnf) using this syntax:
[mysqld]
set-variable=max_connections=250

我认为您需要在更改后重新启动 mysql 才能生效。

于 2014-06-01T06:53:31.163 回答
1

我在使用 Ubuntu 16.04 时遇到了同样的问题。不得不这样做:

sudo vim /etc/systemd/system/mysql.service  

在文件底部添加了以下行:

LimitNOFILE=infinity
LimitMEMLOCK=infinity 

重新加载 systemd 配置:

sudo systemctl daemon-reload

增加了系统可以打开的文件数量:

ulimit -n 4096

像这样编辑 my.cnf :

vi /etc/mysql/mysql.conf.d/mysqld.cnf

查找 max_connections 并将其值更改为 20000。

为确保设置永久生效,请重启 mysql 服务:

 sudo service mysql restart

去 phpmyadmin 并使用以下命令检查 max_connections 全局变量:

SHOW VARIABLES like '%max_connections';

它起作用了 - 现在,当守护程序重新启动时,我拥有与以前相同的 max_connections。

于 2017-10-26T11:23:58.523 回答