MySQL服务器的连接数并不是要达到最大的100%为好,还是要具体问题具体分析,下面就对MySQL服务器最大连接数的合理设置进行了详尽的分析,供您参考.
一种是访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力,另外一种情况是MySQL配置文件中max_connections值过小:
mysql show variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
mysql show global status like 'Max_used_connections';
在Windows下常用的有两种方式修改最大连接数.
第一种:命令行修改.
mysql -uuser -ppassword(命令行登录MySQL)
mysqlshow variables like 'max_connections';(查可以看当前的最大连接数)
msyqlset global max_connections=1000;(设置最大连接数为1000,可以再次查看是否设置成功)
mysqlexit(推出)
这种方式有个问题,就是设置的最大连接数只在mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态.因为mysql启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改.
第二种:修改配置文件.
这 种方式说来很简单,只要修改MySQL配置文件my.ini 或 my.cnf的参数max_connections,将其改为max_connections=1000,然后重启MySQL即可.但是有一点最难的就是my.ini这个文件在哪找.通常有两种可能,一个是在安装目录下(这是比较理想的情况),另一种是在数据文件的目录下,安装的时候如果没有人为改变目录的话,一般就在C:/ProgramData/MySQL往下的目录下.
与连接数相关的几个参数:
max_user_connections 是 MySQL 用户连接数的最大值设置,整段语句的意思是:服务器的 MySQL
的最大连接数参数设置不足.解决方法:修改 MySQL 安装目录下 my.ini 或者 my.cnf 文件内的
max_user_connections 参数的数值,重启 MySQL 服务器.
但是正常来说,MySQL默认的100个连接数是足够的.我们需要从程序上去考虑.MySQL的默认最大连接数为100(N),实际给普通
用户使用只有N-1个,保留一个连接是留给超级管理员使用的,防止连接占满了不会把管理员也踢出来.很多网站在运行的时候都会出现连接数受限现象,我认为
十之八九并非是网站的真实访问量太大导致连接数超标,更多是因为我们在设计网站程序的时候采用了不合理的设计架构或数据结构引起的.非正常连接超限可能原
因如下(天缘即时归纳未必完整或无错讹仅供参考):
类似人数、在线时间、浏览数等统计功能与主程序数据库同属一个数据空间时就很容易出现.
复杂的动态页尤其是用户每次浏览都涉及到多数据库或多表操作时候也很容易出现.
还有就是程序设计的不合理(比如复杂运算、等待等操作放置在数据库交互行为中间进行),或者程序存在释放BUG.
计算机硬件配置太低却安装太高版、太高配置的MySQL.
未采用缓存技术.
数据库未经过优化或表格设计及其复杂.
等等一些原因,都会延长数据库的数据交互时间或增加交互次数.所以,如果大家遇到这类问题,首先要考虑程序是否存在BUG导致连接释放失败,
再次就是考虑优化软硬件.当然修改MySQL连接数也是软件优化的操作方法之一,希望大家都能够本着学习的态度通过研究一下自身的原因从而解决这一问题.
如果实在是找不到原因,那就只好先修改连接数,暂缓定位真实原因了.
要对 mysql 的最大连接数进行修改,有三种方法:
①在 my.cnf 配置文件里面修改 max_connections 的值,然后重启 mysql 就行.如果 my.ini 文件中没有找到 max_connections 条目,可自行添加以下条目:
其他状态查询命令:
显示当前运行的线程:mysql show processlist
显示当前状态:mysql show status
显示安装后的可用存储引擎和默认引擎 :show engines;
以上就是土嘎嘎小编为大家整理的mysql怎么连接数占满相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!