总结MySQL修改最大连接数的两个方式
问题
在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections
”-mysql 1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限。通常,mysql的最大连接数默认是100, 最大可以达到16384。
常用的有两种方式修改最大连接数。
解决方式一:通过命令
可以通过 set GLOBAL max_connections=100;
命令将最大连接数设置为100,此方法是即时生效的,不需要重启mysql服务。如下图所示:
需注意的是,要通过root权限的mysql帐号才能操作,否则会报“1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation”
的错误。
同时,从上图也可以看出,设置max_connections最小值为1。
设置完成后,我再通过另一个终端连接时,就报出了如下的错误提示:1040-Too many connections
。
解决方式二:修改my.cnf
打开mysql的配置文件vim /etc/my.cnf
,加入max_connections=100一行
(如果有,直接修改值即可),然后重启服务:/etc/init.d/mysqld restart
,此时生效。
区别:
1.通过修改配置文件,需要重启服务;而用命令修改,即时生效。
2.采用修改配置文件的方式,更稳定可靠。因为如果配置文件中有max_connections=100
,再去用命令修改的话,一旦重启mysql服务后,会重新以配置文件中指定的连接数为准。
总结:
在修改最大连接数的时候会有这样一个疑问—这个值是不是越大越好,或者设置为多大才合适?这个参数的大小要综合很多因素来考虑,比如使用的平台所支持的线程库数量(windows只能支持到2048)、服务器的配置(特别是内存大小)、每个连接占用资源(内存和负载)的多少、系统需要的响应时间等。可以在global或session范围内修改这个参数。连接数的增加会带来很多连锁反应,需要在实际中避免由此引发的负面影响。希望本文大家使用mysql有所帮助。
相关推荐
-
MySql状态查看方法 MySql如何查看连接数和状态?
怎么进入mysql命令行呢? mysql的安装目录下面有个bin目录,先用命令行进入该目录,然后用 mysql -uroot -p123456 来登录(注意:用户名和密码不用包含"") 命令: show processlist; 如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接. show processlist;只列出前100条,如果想全列出请使用show full processlist; mysql> show processlis
-
如何增加mysql的最大连接数
在开始--Mysql--Mysql Server Instance Configuration Wizard 选Reconfigure Instance 后面的都是默认,直到出现 Please set the approximate number of concurrent connections to the server 选Manual Setting,然后可以输入数字如 2000 后面的都是默认,在Modify Security Settings (修改密码时)不选它,最后选excutiv
-
CentOS 7中MySQL连接数被限制为214个的解决方法
发现问题 最近在项目中遇到一个问题,由于连接数过多,提示 "Too many connections" ,需要增加连接数. 我在 /etc/my.cnf中修改了: max_connections = 2000 但是, 实际连接数一直被限制在 214: mysql> show variables like "max_connections"; +-----------------+-------+ | Variable_name | Value | +-----
-
修改MYSQL最大连接数的3种方法分享
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可 推荐第一种方法,修改比较方便. 方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppassword 设置新的最大连接数为200:mysql> set GLOBAL max_connections=200 显示当前运行的Query:mysql>
-
mysql优化连接数防止访问量过高的方法
很多开发人员都会遇见"MySQL: ERROR 1040: Too many connections"的异常情况,造成这种情况的一种原因是访问量过高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力:另一种原因就是MySQL配置文件中max_connections值过小. 首先,我们来查看mysql的最大连接数: mysql> show variables like '%max_connections%'; +-----------------+-------+ |
-
MySQL连接数超过限制的解决方法
max_user_connections 是 MySQL 用户连接数的最大值设置,整段语句的意思是:服务器的 MySQL 的最大连接数参数设置不足.解决方法:修改 MySQL 安装目录下 my.ini 或者 my.cnf 文件内的 max_user_connections 参数的数值,重启 MySQL 服务器. 但是正常来说,MySQL默认的100个连接数是足够的.我们需要从程序上去考虑.MySQL的默认最大连接数为100(N),实际给普通用户使用只有N-1个,保留一个连接是留给超级管理员使用的
-
总结MySQL修改最大连接数的两个方式
问题 在使用MySQL数据库的时候,经常会遇到这么一个问题,就是"Can not connect to MySQL server. Too many connections"-mysql 1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限.通常,mysql的最大连接数默认是100, 最大可以达到16384. 常用的有两种方式修改最大连接数. 解决方式一:通过命令 可以通过 set GLOBAL max_connections=100; 命令将最大连接数设置
-
阿里云服务器手动实现mysql双机热备的两种方式
一.概念 1.热备份和备份的区别 热备份指的是:High Available(HA)即高可用,而备份指的是Backup,数据备份的一种.这是两种不同的概念,应对的产品也是两种功能上完全不同的产品.热备份主要保障业务的连续性,实现的方法是故障点的转移.而备份,主要目的是为了防止数据丢失,而做的一份拷贝,所以备份强调的是数据恢复而不是应用的故障转移. 2.什么是双机热备? 双机热备从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务.当一台服务器出现故障时,可以由另一台服务器承
-
Mysql添加外键的两种方式详解
目录 Mysql添加外键的几种方式 方法一: 方法二: 补充:MySQL 删除外键操作 总结 Mysql添加外键的几种方式 注意:添加外键是给从表添加(即子表)父表是主表 方法一: 创建表之前: FOREIGN KEY (子表id) REFERENCES 关联表名(外主表id) 例如 create table emp( e_id int auto_increment primary key, ename varchar(50) not null, age int, job varchar(20)
-
mysql清空表数据的两种方式和区别解析
在MySQL中删除数据有两种方式: truncate(截短)属于粗暴型的清空 delete属于精细化的删除 删除操作 如果你需要清空表里的所有数据,下面两种均可: delete from tablename; truncate table tablename; 而如果你只是删除一部分数据,就只能使用delete: delete from tablename where case1 and case2; 区别 在精细化的删除部分数据时,只能使用delete. 而清空所有表数据时,两者均可,此时这两
-
Springboot之修改启动端口的两种方式(小结)
Springboot启动的时候,端口的设定默认是8080,这肯定是不行的,我们需要自己定义端口,Springboot提供了两种方式,第一种,我们可以通过application.yml配置文件配置,第二种,可以通过代码里面指定,在开发中,建议使用修改application.yml的方式来修改端口. 代码地址 #通过yml配置文件的方式指定端口地址 https://gitee.com/yellowcong/springboot-demo/tree/master/springboot-demo2 #硬
-
Mysql实现模糊查询的两种方式(like子句 、正则表达式)
目录 前言 语法 like子句 语法 示例 正则表达式 语法 说明: 示例 总结 通常在实际应用中,会涉及到模糊查询的需求,查询在 MySQL 中使用 SQL SELECT 命令来读取数据,有条件的查询可以在 SELECT 语句中使用 WHERE 子句来获取记录 有时候我们需要获取某字段含有 “xxxxx” 字符的所有记录,这时就是模糊查询,下面介绍一下在MySQL中实现模糊查询的两种方式 前言 MySQL 查询数据使用SQL SELECT语句 语法 MySQL数据库中查询数据通用的 SELEC
-
MySQL正确修改最大连接数的3种方案
我们大家都知道MySQL数据库在安装完之后,默认的MySQL数据库,其最大连接数为100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,增加默认MySQL连接数的方法有两个. show variables like 'max_connections'; 方法一: 进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MySQL即可 方法二: MySQL最大连接
-
Mysql中分页查询的两个解决方法比较
mysql中分页查询有两种方式, 一种是使用COUNT(*)的方式,具体代码如下 复制代码 代码如下: SELECT COUNT(*) FROM foo WHERE b = 1; SELECT a FROM foo WHERE b = 1 LIMIT 100,10; 另外一种是使用SQL_CALC_FOUND_ROWS 复制代码 代码如下: SELECT SQL_CALC_FOUND_ROWS a FROM foo WHERE b = 1 LIMIT 100, 10; SELECT FOUND_
-
mysql自动填充时间的两种实现方式小结
目录 mysql自动填充时间的两种方式 方法一:数据库级别 方式二:代码级别 mysql自动填充时间的两种方式 mysql建表的时候有两个列,一个是createtime.另一个是updatetime 当插入一条数据,createtime列和updatetime列由数据库获取当前时间自动创建时间 当修改一条记录时,updatetime列由数据库获取按当前时间自动更新时间 方法一:数据库级别 (工作中不允许你修改数据库),一般我们采用方法二 1.在表中新增字段 create_time, update
-
Mysql查看最大连接数和修改最大连接数的讲解
MySQL查看最大连接数和修改最大连接数 1.查看最大连接数 show variables like '%max_connections%'; 2.修改最大连接数 set GLOBAL max_connections = 200; 以下的文章主要是向大家介绍的是MySQL最大连接数的修改,我们大家都知道MySQL最大连接数的默认值是100, 这个数值对于并发连接很多的数据库的应用是远不够用的,当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些.在使 用MySQ
随机推荐
- 正则表达式对qq号码校验
- 正则限制文本输入
- 当菜鸟遇上黒客之三:QQ防盗篇
- jquery中通过过滤器获取表单元素的实现代码
- Pyhton中防止SQL注入的方法
- Asp.Mvc 2.0用户服务器验证实例讲解(4)
- C#正则表达式转义字符介绍
- 在Mac OS上使用mod_wsgi连接Python与Apache服务器
- Windows 环境下使用 Qt 连接 MySQL
- C#中IEnumerable接口用法实例分析
- 详解Java中使用泛型实现快速排序算法的方法
- Python的string模块中的Template类字符串模板用法
- apache设置自动将http跳转到https的方法
- CentOS 5.5使用yum来安装LAMP(php运行环境)
- Sqlview动态发布地图图层的方法
- 自己做的模拟模态对话框实现代码
- windows server 2008 R2 禁用ipv6和隧道适配器
- Apache与Tomcat服务器整合的基本配置方法及概要说明
- 用Visual Studio2017写C++静态库图文详解
- Java序列化机制与原理的深入分析