MySQL的max_connections参数用来设置最大连接(用户)数。每个连接MySQL的用户均算作一个连接,max_connections的默认值为100。本文将讲解此参数的详细作用与性能影响。

与max_connections有关的特性

  • MySQL无论如何都会保留一个用于管理员(SUPER)登陆的连接,用于管理员连接数据库进行维护操作,即使当前连接数已经达到了max_connections。因此MySQL的实际最大可连接数为max_connections+1;
  • 这个参数实际起作用的最大值(实际最大可连接数)为16384,即该参数最大值不能超过16384,即使超过也以16384为准;
  • 增加max_connections参数的值,不会占用太多系统资源。系统资源(CPU、内存)的占用主要取决于查询的密度、效率等;
  • 该参数设置过小的最明显特征是出现“Too many connections”错误;

调整max_connections参数的值

调整此参数的方法有几种,既可以在编译的时候设置,也可以在MySQL配置文件 my.cnf 中设置,也可以直接使用命令调整并立即生效。 1、在编译的时候设置默认最大连接数 打开MySQL的源码,进入sql目录,修改mysqld.cc文件:

{“max_connections”, OPT_MAX_CONNECTIONS, “The number of simultaneous clients allowed.”, (gptr*) &max_connections, (gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1, 0},

红色的“100”即为该参数的默认值,修改为想要的数值,存盘退出。然后执行

./configure;make;make install
 

重新编译安装MySQL;注意,由于编译安装且修改了MySQL源码,此操作最好在安装MySQL之前进行;

2、在配置文件my.cnf中设置max_connections的值 打开MySQL配置文件my.cnf

vi /etc/my.cnf
 

找到max_connections一行,修改为(如果没有,则自己添加),

max_connections = 1000

上面的1000即该参数的值。

3、实时(临时)修改此参数的值 首先登陆mysql,执行如下命令:

mysql -uroot -p
 

然后输入MySQL Root的密码。 查看当前的Max_connections参数值:

mysql> SELECT @@MAX_CONNECTIONS AS 'Max Connections';
 

设置该参数的值:

mysql> set GLOBAL max_connections=;
 

(注意上面命令的大小写) 修改完成后实时生效,无需重启MySQL。 总体来说,该参数在服务器资源够用的情况下应该尽量设置大,以满足多个客户端同时连接的需求。否则将会出现类似“Too many connections”的错误。

Mysql Too Many Connections问题解决的更多相关文章

  1. MySQL 5.6 OOM 问题解决分享【转】

    本文来自:杨德华的原创分享 | MySQL 5.6 OOM 问题解决分享 延伸阅读:Linux的内存回收和交换 当遇到应用程序OOM的时候,大多数时候只能用头疼来形容,应用程序还可以通过引流来临时重启 ...

  2. ubuntu mysql emma中文乱码问题解决

    ubuntu mysql emma中文乱码问题解决 emma默认用apt-get 安装的话,emma是不支持中文的,配置文件或直接修改emma程序源文件(python). apt-get安装emma ...

  3. mysql远程访问1045的问题解决

    mysql远程访问1045的问题解决 首先进入mysql数据库,然后输入下面两个命令 grant all privileges on *.* to 'root'@'%' identified by ' ...

  4. (转)MySQL 5.6 OOM 问题解决分享

    本文来自:杨德华的原创分享 | MySQL 5.6 OOM 问题解决分享 原文:http://www.cnblogs.com/zhoujinyi/p/5763112.html 延伸阅读:Linux的内 ...

  5. MySQL主从同步异常问题解决Client requested master to start replication from position > file size

    MySQL主从同步异常问题解决Client requested master to start replication from position > file size 一.问题描述 MySQ ...

  6. mysql数据库乱码的问题解决

    排查原因:打断点,查看到底是在执行存数据库操作之前就已经乱码了,还是存数据库操作后乱码的. 1.前者解决方案: 在web.xml里面加上: <filter> <filter-name ...

  7. 解决mysql too many connections的问题

    由于公司服务器上的创建的项目太多,随之创建的数据库不断地增加,在用navicat链接某一个项目的数据库时会出现too many connections ,从而导致项目连接数据库异常,致使启动失败. 为 ...

  8. phpstudy2016最新版本mysql无法使用innodb的问题解决

    这里顺便记录一下今天遇见的神奇问题,在使用官方最新版本的phpstudy中,其它组件一切正常,但是奇怪的发现mysql是无法开启innodb的,以下为最新的下载地址: http://www.phpst ...

  9. MySQL之aborted connections和aborted clients

    影响Aborted_clients 值的可能是客户端连接异常关闭,或wait_timeout值过小. 最近线上遇到一个问题,接口日志发现有很多超时报错,根据日志定位到数据库实例之后发现一切正常,一般来 ...

随机推荐

  1. linux 安装软件,卸载软件 等的几种方式

    安装软件的步骤和基本原则: 1. rpm安装: 定义: rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装.查询.卸载.升级等工作.但是rpm软件包之间的依赖性问题往往会很 ...

  2. java之RTTI和反射的理解

    最近在读 Thinking in Java 这本书.读到类型信息这一张时,刚开始对书中所说的RTTI和反射彻底混了,不知道有什么联系,有哪些相同点和区别.于是在网上又找了些内容辅助理解,这一章又重新读 ...

  3. IoTimerInLineHook

    #ifndef CXX_IOTIMERINLINEHOOK_H # include "IoTimerInlineHook.h" #endif ULONG32 SSDT_NtOpen ...

  4. lazyload 分页加载

    http://www.neoease.com/lazy-load-jquery-plugin-delay-load-image/ echo $d['pic']; ?>" src=&qu ...

  5. PHP 长字符串替换操作性能(替换多换注释的代码)

    因为写一个css合并工具,去掉注释时,发现正则表达式很难写,最后,还是用php来实现吧,但是一不小心写出来的代码居然报内存超出可用的128m!! 原因是因为我找到/*和*/之后 $str=substr ...

  6. win7 摄像头驱动软件找不到,只有sys文件

    有的驱动只有sys文件,但是仍然可以在qq视频等用,只是找不到amcap.exe等可执行文件, 因为没有摄像头软件,下载一个安装上即可

  7. LA 3516 - Exploring Pyramids

    https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...

  8. PhpStorm WebMatrix xDebug 配置开发环境

    1.首先下载WebMatrix安装程序,下载地址 http://www.microsoft.com/web/webmatrix/  安装步骤 参考:http://www.jb51.net/softjc ...

  9. SQL语句查询所耗时间与效能的语句

    1)SQL查询所耗时间语句 原理:记录当前时间1,执行SQL语句,记录当前时间2,显示时间2与时间1的差. 由于第一次执行的所耗时间为真实时间,之后会保存在缓存中,所以第二次之后的查询所耗时间都会比第 ...

  10. iOS开发之UITableView使用总结

    什么是UITableView 在众多移动应用中,能看到各式各样的表格数据 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView UITableView继承自UIScrollVie ...