CentOS中设置Mysql的最大连接数max_connections(用于解决too many connections的问题)

一、引入

  最近一个python的定时任务系统的项目,在做定时数据统计的时候经常报错too many connections,字面意思很简单,就是数据库连接池不够用了。那么比较直接的方法就是手动设置数据库的最大连接数max_connections

二、如何配置

1.查询Mysql当前的最大连接数

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

2.在文件etc/my.cnf中设置Mysql 最大连接数

[mysqld]
max_connections =2000

3.重启Mysql 命令

$ systemctl restart  mysqld.service

4.查询Mysql当前的最大连接数,发现最大连接数是214

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

5.更改 MySQL 在 Linux 的最大文件描述符限制,编辑 /usr/lib/systemd/system/mysqld.service 文件,在文件最后添加: 
ubuntu16.04 下面位于:/lib/systemd/system/mysql.servive,可以通过find 命令查找

LimitNOFILE=65535
LimitNPROC=65535

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

$ systemctl daemon-reload
$ systemctl restart  mysqld.service

  实际连接数到 2000 了,解决

1 mysql> show variables like "max_connections";
2 +-----------------+-------+
3 | Variable_name   | Value |
4 +-----------------+-------+
5 | max_connections | 2000  |
6 +-----------------+-------+
7 row in set

三、总结

  嗯,暂时没问题了、参考博客:https://www.cnblogs.com/kingchou/p/9321803.html

  

原文地址:https://www.cnblogs.com/JentZhang/p/12581116.html

时间: 2024-11-09 20:28:22

CentOS中设置Mysql的最大连接数max_connections(用于解决too many connections的问题)的相关文章

navicate连接虚拟机(centos)中的mysql

直接上方法: 首先配置CentOS下防火墙iptables规则: # vim /etc/sysconfig/iptables 向其中加入下列规则: -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT -A INPUT -m state –state NEW -m tcp -p tcp –dport

navicat连接虚拟机(centos)中的mysql

直接上方法: 首先配置CentOS下防火墙iptables规则: # vim /etc/sysconfig/iptables 向其中加入下列规则: -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT -A INPUT -m state –state NEW -m tcp -p tcp –dport

设置mysql的最大连接数

MYSQL 数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,虽然通过连接池可以将连接数设置为固定的100,可 是在下那BT同事将所有的连接池都设置成了100,话说我们小组有5个人……再话说,个人调试有必要设置那么高么……不过牢骚归牢骚,问题依然需要解决. 方 法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100   修改为 max_connections=1000 服务里重

centos中设置apache显示目录列表

apache中显示目录列表 在http.conf中加入如下代码(如有虚拟主机配置,加在虚拟主机配置段内),并把主目录内的index.pho,index.html,index.htm文件删除 复制代码 代码如下: Alias /download "/download"  <Directory "/download">    Options Indexes    Order allow,deny    IndexOptions Charset=UTF-8  

linux/centos下设置Mysql表名不区分大小写

情景:公司近期在将数据库从ORACLE转为MYSQL,由于之前在ORACLE中表名是不区分大小写,因此到mysql中就出现了找不到表的问题,经上网查询,发现在linux下mysql的表名是区分大小写的,但是有参数可以使其不区分大小写. 一.linux中mysql大小写详情: 1.数据库名严格区分大小写 2.表名严格区分大小写的 3.表的别名严格区分大小写 4.变量名严格区分大小写 5.列名在所有的情况下均忽略大小写 6.列的别名在所有的情况下均忽略大小写 二.添加参数使其不区分大小写 1.切换到

centos 中设置 vim的配置高亮、行号、缩进

在centos 中vim的配置文件存放在/etc/vim目录中,配置文件名为vimrc在终端 输入以下命令来编辑vimrc配置文件:sudo vim /etc/vim/vimrc或者 sudo gedit /etc/vim/vimrc 1.显示行号    在文件末端添加一新行,输入 set nu 2.语法高亮在文件中找到 "syntax on   这一行,去掉前面的双引号",双引号是注释的意思 3.自动缩进在文件末尾添加一行,输入  set autoindent在添加一行,输入    

CentOS下设置MySQL的root密码

CentOS刚装的MySQL一般需要重设MySQL密码,可以用以下方法重设. 方法一. Js代码  # /etc/init.d/mysqld stop  # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &  # mysql -u root mysql   mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';   my

centos中设置swap交换空间的大小设置和swappiness的比例设置

首先使用free -m命令查看内存使用情况和swap的大小 关闭swap: 设置swap的大小: bs指的是Block Size,就是每一块的大小.这里的例子是1M,意思就是count的数字,是以1M为单位的. count是告诉程序,新的swapfile要多少个block.这里是1024,就是说,新的swap文件是5G大小. 注意:可能需要点时间完成此步,耐心等待完成. 把增大后的文件变为swap文件: 重新打开swap:  让swap在启动的时候,自动生效.打开/etc/fstab文件,加上以

CentOS中设置网络

最近在虚拟机中安装server版的CentOS操作系统,安装之后需要自己再手动设置IP连接网络,在网上搜了一下如何设置IP,发现大部分说的都很多,也给出了多种方法,其实有一种最简单的办法,只需要修改一个文件即可. 修改:/etc/sysconfig/network-script/ifcfg-eth0文件 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=dhcp (表示动态分配IP)