如何在mysql中永久设置最大连接数?

时间:2014-06-01 05:44:09

标签: mysql mysqlconnection

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

4 个答案:

答案 0 :(得分:10)

由于当人们搜索解决方案时,问题出现在搜索结果上,现在解决方案已经改变,我认为有必要发布答案。
Ubuntu 15.04+ no longer respects /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 config:

sudo systemctl daemon-reload

答案 1 :(得分:4)

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

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

**

  

max_connections = 250

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

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

再次非常感谢你。

答案 2 :(得分: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。

答案 3 :(得分: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。