(转)常用的三种修改mysql最大连接数的方法

MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,增加默认MYSQL连接数的方法有两个


方法一:进入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> show processlist


显示当前状态:mysql> show status


退出客户端:mysql> exit


查看当前最大连接数:mysqladmin -uusername -ppassword variables


方法三:以centos 4.4 下面的mysql 5.0.33 手工编译版本为例说明:


vi /usr/local/mysql/bin/mysqld_safe


找到safe_mysqld编辑它,找到mysqld启动的那两行,在后面加上参数 :


-O max_connections=1500


具体一点就是下面的位置:


用红字特别说明:


then $NOHUP_NICENESS $ledir/$MYSQLD


$defaults --basedir=$MY_BASEDIR_VERSION


--datadir=$DATADIR $USER_OPTION


--pid-file=$pid_file


--skip-external-locking


-O max_connections=1500


>> $err_log 2>&1 else


eval "$NOHUP_NICENESS $ledir/$MYSQLD


$defaults --basedir=$MY_BASEDIR_VERSION


--datadir=$DATADIR $USER_OPTION


--pid-file=$pid_file


--skip-external-locking $args


-O max_connections=1500 >>


$err_log 2>&1"


保存。


# service mysqld restart


# /usr/local/mysql/bin/mysqladmin -uroot -p variables


输入root数据库账号的密码后可看到


max_connections 1500 即新改动已经生效。




还有一种方法,


修改原代码:


解开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},


把它改为:


{"max_connections", OPT_MAX_CONNECTIONS,


"The number of simultaneous clients allowed.", (gptr*) &max_connections,


(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 1500, 1, 16384, 0, 1,


0},


存盘退出,然后./configure ;make;make install可以获得同样的效果。

 

 

MySQL服务器最大连接数怎么设置才合理

MySQL服务器的连接数并不是要达到最大的100%为好,还是要具体问题具体分析,下面就对MySQL服务器最大连接数的合理设置进行了详尽的分析,供您参考。
  我们经常会遇见“MySQL: ERROR 1040: Too many connections”的情况,一种是访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力,另外一种情况是MySQL配 置文件中max_connections值过小:
  mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 256 |
+-----------------+-------+
  这台MySQL服务器最大连接数是256,然后查询一下服务器响应的最大连接数:
  mysql> show global status like 'Max_used_connections';
  MySQL服务器过去的最大连接数是245,没有达到服务器连接数上限256,应该没有出现1040错误,比较理想的设置是:
  Max_used_connections / max_connections * 100% ≈ 85%
  最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接上线就设置得过高了。
posted @ 2018-04-23 21:22  会飞的斧头  阅读(304)  评论(0编辑  收藏  举报