修改MySQL连接数与MySQL连接数超限原因分析

一、MySQL连接数超标原因分析

MySQL的默认最大连接数为100N),实际给普通用户使用只有N-1个,保留一个连接是留给超级管理员使用的,防止连接占满了不会把管理员也踢出来。很多网站在运行的时候都会出现连接数受限现象,十之八九并非是网站的真实访问量太大导致连接数超标,更多是因为我们在设计网站程序的时候采用了不合理的设计架构或数据结构引起的。非正常连接超限可能原因如下:

1、类似人数、在线时间、浏览数等统计功能与主程序数据库同属一个数据空间时就很容易出现

2、复杂的动态页尤其是用户每次浏览都涉及到多数据库或多表操作时候也很容易出现

3、还有就是程序设计的不合理(比如复杂运算、等待等操作放置在数据库交互行为中间进行),或者程序存在释放BUG

4、计算机硬件配置太低确安装太高版、太高配置的MySQL

5、未采用缓存技术

6、数据库未经过优化或表格设计及其复杂

等等一些原因,都会延长数据库的数据交互时间或增加交互次数。所以,如果大家遇到这类问题,首先要考虑程序是否存在BUG导致连接释放失败,再次就是考虑优化软硬件。当然修改MySQL连接数也是软件优化的操作方法之一,希望网友都能够本着学习的态度通过研究一下自身的原因从而解决这一问题。如果实在是找不到原因,那就只好先修改连接数,暂缓定位真实原因了。

二、怎样修改MySQL的最大连接数

1、使用内存变量修改法修改MySQL的最大连接数

步骤如下(同时适用WindowsLinux平台):

A、客户端登录MySQL,输入用户名和密码

B、在MYSQL命令提示符下设置新的最大连接数为500mysql> set GLOBAL max_connections=500

C、显示当前运行的Querymysql> show processlist

D、显示当前MYSQL 系统参数状态:mysql> show status

E、退出客户端:mysql> exit

查看当前最大连接数只需要通过在mysqladmin所在目录下执行以下命令:mysqladmin -username -password variables |find "max_con" 即可看到。也可以使用PHPMyadmin里头的MYSQL参数列表查看最大连接数。

缺点:重启计算机或者MySQL后最大连接数又会复位成初始值,需要重新设定。

2、修改my.inimy.cnf文件法(需要重启MySQL),可参考同目录下MySQL的配置模板(小内存、大内存、超大内存)

Windows系统下:

打开my.ini文件找到set-variable =max_connections=100这一行,改成需要设定的最大连接数,然后重启即可。

Linux控制台下:

打开my.cnf文件:vi /etc/my.cnf

[mysqld]段下修改max_connections的值为设定值。

天缘注:可能大家安装的MYSQL来源和版本不同(WindowsMySQL+IISPHP+Apache+MySQL套件最终安装结果几乎都不相同),my.ini文件的路径可能有些不同,my.ini可能还会保留一份在C:/Windows目录下需要同时修改。

三、补充几个常用的MYSQL命令

Windows 下:

1、启动MySQL服务:net start mysql

2、停止MySQL服务:net stop mysql

3、重启MySQL服务:net restart mysql

Linux下:

1Linux系统下启动MySQL的命令:

mysqladmin start

/ect/init.d/mysql start (前面为mysql的安装路径)

2linux下重启MySQL的命令:

mysqladmin restart

/ect/init.d/mysql restart (前面为mysql的安装路径)

3linux下关闭MySQL的命令:

mysqladmin shutdown

/ect/init.d/mysql   shutdown (前面为mysql的安装路径)

Windows/Linux公用:

4、手动运行登录MYSQL(如果是超级后台直接输入密码即可)

mysql -u root -p,然后再输入密码即可。

5、登录远程MYSQLmysql -h xxx.xxx.xxx.xxx -u root -p password,中间的xxxIP地址

6、显示数据库:mysql>show databases;

7、显示数据表:mysql>show tables;

8、切换数据表xxxmysql>use xxx;

9、退出MySQLmysql>exit

10、新建MySQL数据库:mysql>create database 库名;

11、新建数据表

mysql>use 库名;

mysql>create table 表名 (字段设定列表);

12、删除数据库或数据表

mysql> drop database 库名;

mysql>drop table 表名;

13、将表中记录清空:delete from 表名;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值