发布于 2017-10-26 19:55:26 | 70 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Mysql教程,程序狗速度看过来!

Mysql关系型数据库管理系统

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。


这篇文章主要给大家介绍了关于CentOS 7中MySQL连接数被限制为214个的解决方法,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起看看吧。

发现问题

最近在项目中遇到一个问题,由于连接数过多,提示 “Too many connections” ,需要增加连接数。

我在 /etc/my.cnf中修改了:


max_connections = 2000

但是, 实际连接数一直被限制在 214:


mysql> show variables like "max_connections";
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 214 |
+-----------------+-------+
1 row in set

思考

如果我设置连接小于214时,比如 200,那么实际连接数就是 200,也就是说,我的配置文件是没有问题的。

查 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. Linux or Solaris should be able to support at 500 to 1000 simultaneous connections routinely and as many as 10,000 connections if you have many gigabytes of RAM available and the workload from each is low or the response time target undemanding. Windows is limited to (open tables × 2 + open connections) < 2048 due to the Posix compatibility layer used on that platform.
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.

大概意思是 MySQL 能够支持的最大连接数量受限于操作系统,必要时可以增大 open-files-limit。换言之,连接数与文件打开数有关。

解决方法


[root@sqzr ~]# ulimit -n
1024

可知,操作系统最大文件描述符限制为 1024。

更改 MySQL 在 Linux 的最大文件描述符限制,编辑 /usr/lib/systemd/system/mysqld.service 文件,在文件最后添加:


LimitNOFILE=65535
LimitNPROC=65535

保存后,执行下面命令,使配置生效


$ systemctl daemon-reload
$ systemctl restart mysqld.service

实际连接数到 2000 了,解决


mysql> show variables like "max_connections";
+-----------------+-------+
| Variable_name  | Value |
+-----------------+-------+
| max_connections | 2000 |
+-----------------+-------+
1 row in set

参考

https://dev.mysql.com/doc/refman/5.7/en/too-many-connections.html

https://www.oschina.net/question/853151_241231

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对PHPERZ的支持。



相关阅读 :
CentOS 7中MySQL连接数被限制为214个的解决方法
MySQL连接数超过限制的解决方法
mysql使用SQLyog导入csv数据不成功的解决方法
JSP MySQL插入数据时出现中文乱码问题的解决方法
Mysql 忘记root密码和修改root密码的解决方法(小结)
MySQL数据库输入密码后闪退问题的解决方法
CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本教程详解
CentOS 7下MySQL服务启动失败的快速解决方法
CentOS 7安装Mysql并设置开机自启动的方法
mysql连接数设置操作方法(Too many connections)
CentOS 7 安装 MySQL 5.6遇到的各种问题小结
MySQL恢复中的几个问题解决方法
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务