问题

项目中,由于连接数过多,提示“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

MySQL max_connections 总是 214 。不能设大了?

环境

  • CentOS 7.1
  • MySQL 5.6.25

思考

如果我设置连接小于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@emsc ~]# ulimit -n
1024

可知,操作系统最大文件描述符限制为 1024, 在 配置文件中添加

open_files_limit = 65535

实际上也没有生效

更改 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

参考

  • http://dev.mysql.com/doc/refman/5.7/en/too-many-connections.html
  • http://www.oschina.net/question/853151_241231

RHEL\CentOS 7 下 MySQL 连接数被限制为214个相关推荐

  1. CentOS 8下 MySQL 8.0 安装部署(亲测)

    MySQL 8正式版8.0.11已发布,官方表示MySQL8要比MySQL 5.7快2倍,还带来了大量的改进和更快的性能!到底谁最牛呢?请看:MySQL 5.7 vs 8.0,哪个性能更牛? 下载地址 ...

  2. CentOS/Ubuntu 下 MySQL 的安装

    0. Ubuntu 下 MySQL 的安装 Linux(Ubuntu)下MySQL的安装与配置 检查系统中是否已安装 MySQL $ sudo netstat -tap | grep mysql# 输 ...

  3. docker新建Linux虚拟机,RHEL/CentOS 7下创建你的第一个Docker容器

    Docker容器人气一直在增长.他们现在正在快速采用,正在取代虚拟机,特别是在应用程序开发方面. 在本教程中,我们将讨论Docker容器的内容,并将学习在RHEL/CentOS 7上安装它的过程. D ...

  4. 【转载】腾讯服务器centos服务器下mysql的安装

    前提 服务器:CentOS 7.3 ssh连接工具:finalshell MySQL环境:MySQL5.7.26 查看服务器上是否有其他东西,有就删除 1.自带数据库 2.以前用户组 1.下载 (1) ...

  5. Centos 7下mysql的安装与配置

    准备工作: 安装yum库,将下载好的 mysql5.7.16 的安装包纺织 /opt 目录下 一丶将mysql5.7.16 的5个程序文件进行安装(这样不用解决centos7自带的mariadb数据库 ...

  6. centos7安装mysql8.0简书_【Linux实战03】CentOS 7 下 MySQL 8.0 的安装

    一.安装前准备 1.查看当前服务器的发行版本号 2.查看当前服务器的内核版本 3.查看当前服务器的操作系统位数 ----温馨提示---- 为什么先做如上三个操作呢? 多数同学,部署各类软件不成功的原因 ...

  7. linux Centos系统下mysql主从配置

    为什么80%的码农都做不了架构师?>>>    1.准备两台装好mysql的机器 mysql单机安装步骤请参考https://my.oschina.net/qbj/blog/1850 ...

  8. CentOS 7 下 MySQL 5.7环境部署

    ``` # 下载安装 进入官网  https://dev.mysql.com/downloads/repo/yum/ -> Red Hat Enterprise Linux 7 / Oracle ...

  9. Centos环境下mysql源码编译安装

    yum -y install gcc gcc-c++ ncurses-devel perl ##从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本. wget --no ...

最新文章

  1. 从前到后的CAN总线(二)
  2. java中System重定向输出流
  3. java 分布式同步_Java Web分布式集群搭建(三)——Session同步
  4. codeforces 303 div2 E
  5. 为什么引入devops_DevOps可以为您的文档做什么?
  6. docker 保存 环境持久化_为什么 Docker 适合微服务架构?
  7. 采用Bert进行中文分词
  8. android fastboot模式下载以及出现的问题
  9. Java中的Servlet详解
  10. java对接银联商务扫码支付
  11. Python数据分析师工资怎么样?
  12. 用中信证券示范大作手回忆录
  13. 第8节 破解系统密码—利用win7漏洞和PE系统破解密码
  14. Hadoop实战第2版 - 电子书下载(高清版PDF格式+EPUB格式)
  15. matlab sin函数怎么写,matlab实现插值法sin函数
  16. 解决Echarts柱形图正负数在同一侧,并设置正负值不同颜色
  17. [万字长文] 图神经网络的解释性综述
  18. 用代码写一个炫酷的地球
  19. java的nullpoint_Java中避免NullPointerException的方法总结
  20. Life feelings--10--inspiration and inner motivation

热门文章

  1. 【pytorch】拟合sin函数
  2. LeetCode 报错解决 heap-buffer-overflow Heap-use-after-free Stack-buffer-overflow Global-buffer-overflow
  3. .NET Core EntityFramework生成自动增长的主键
  4. LeetCode 300. Longest Increasing Subsequence--O(n log n)--Java,C++,Python解法
  5. win8计算机上工具选项在哪,Win8.1在开始菜单中找不到“便笺”工具如何恢复
  6. su如何变成实体_不用建模就能生成地形,SU怎么办到的?
  7. linux 自定义外壳,管道在自定义的linux外壳
  8. 【Netty】传输(Transport)
  9. hadoop job 数量_大数据Hadoop常见面/笔试题
  10. win10玩cf不能全屏_游戏莫名卡顿四招搞定!Win10游戏优化教程