MySQL 修改最大连接数

Wesley13
• 阅读 925

今天使用ide连接线下MySQL报错Can not connect to MySQL server. Too many connections,报错很明确,与MySQL的连接数满了。想想也是,每起一个服务都会创建MySQL连接池,占用不少的长连接。用ide查看了一下,原来最大连接数才151,看来有必要改大一点了。

上网查了一下,修改方式有两种

1.命令行修改

进入mysql后,set GLOBAL max_connections=1024; 即可立即生效,但是博主没有使用这种方式,因为这种方法治标不治本,一点重启mysql,最大连接数又会变回151

2.修改配置,然后重启

vi /etc/m.cnf加入max_connections=1024,然后重启mysql即可。

重启后,很遗憾,max_connections变成了214,这就很诡异了。我把max_connections又分别设置成500和213,实际的max_connections分别是214和213。也就是说,在这台服务器上,max_connections最大只能是234,猜测是因为操作系统的限制导致max_connections最大只能为213。博主翻了翻MySQl官方文档(英语不好看文档真是浑身难受),发现以下几句话:

The maximum number of connections MySQL can support depends on the quality of the thread library on a given platform, the amount of RAM available, how much RAM is used for each connection, the workload from each connection, and the desired response time. Increasing open-files-limit may be necessary. Also see Section 2.5, “Installing MySQL on Linux”, for how to raise the operating system limit on how many handles can be used by MySQL.

以我的英语水准,把上述语句概括起来就是,max_connections依托于操作系统,Linux系统必要时需要增加open-files-limit。万万没想到啊,修改max_connections竟然要修改操作系统最大文件描述符。

vi /usr/lib/systemd/system/mysqld.service加入

LimitNOFILE=50000

重启MySQL

嗯,搞定了~

希望对大家有所帮助,祝大家每天开心~

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL基础(一)
一、连接MySQL数据库1连接:2mysqlhhostuuserp34常见错误:5ERROR2002(HY000):Can'tconnecttolocalMySQLserverthroughsocket'/tmp/my
Wesley13 Wesley13
3年前
Mysql数据库的优化
一:Mysql参数优化1.查看mysql参数最大连接!(https://oscimg.oschina.net/oscnet/0e4e34a1cc875042ecb1d51e365443b7a66.png)调大mysql参数连接(最大可设置12384)!(https://oscimg.oschina.net/oscnet/b213d5
Wesley13 Wesley13
3年前
MySQL数据库优化技巧
MySQL优化三大方向①优化MySQL所在服务器内核(此优化一般由运维人员完成)。②对MySQL配置参数进行优化(my.cnf)此优化需要进行压力测试来进行参数调整。③对SQL语句以及表优化。MySQL参数优化1:MySQL默认的最大连接数为100,可以在mysql客户端使用以下命令查看mysql
Wesley13 Wesley13
3年前
mysql知识补遗
mysql最大连接数默认是151,其中150是用来给普通用户连接数据库,另外一个是用来给管理员的。showVARIABLESlike"max\_connections";//查看最大连接数showprocesslist;//查看当前实际连接数mysql最大连接数是16384setgloblmax\_connections1200
Wesley13 Wesley13
3年前
MySQL查看最大连接数和修改最大连接数
1、查看最大连接数showvariableslike'%max\_connections%';2、修改最大连接数setGLOBALmax\_connections200;以下的文章主要是向大家介绍的是MySQL最大连接数的修改,我们大家都知道MySQL最大连接数的默认值是100,这个数值对于并发连接很多的数据库的应用是
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
Android蓝牙连接汽车OBD设备
//设备连接public class BluetoothConnect implements Runnable {    private static final UUID CONNECT_UUID  UUID.fromString("0000110100001000800000805F9B34FB");
Wesley13 Wesley13
3年前
thinkphp 基本配置
12returnarray(34//定义数据库连接信息5'DB\_TYPE''mysql',//指定数据库是mysql67'DB\_HOST''localhost',89'DB\_NAME''uchome',//数据库名1011'DB\_USER''root
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究