红联Linux门户
Linux帮助

加大MySql的最大连接数

发布时间:2005-06-23 00:43:38来源:红联作者:thej
mysql的最大连接数默认是100, 这个数值对于并发连接很多的数据库应用是远远不够的,当连接请求大于默认连接数后,就会出现无法连接数据库的错误,因此我们需要把它适当调大一些,
有两种办法可以修改最大连接数,一种是修改safe_mysqld,另一种是直接修改原代码并重新编译。下面我们就分别介绍这两种方法:

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

-O max_connections=1000


例如 :(其中前面有---的是原来的内容,而+++是修改过以后的)
--- safe_mysqld.orig Mon Sep 25 09:34:01 2000
+++ safe_mysqld Sun Sep 24 16:56:46 2000
@@ -109,10 +109,10 @@
if test \"$#\" -eq 0
then
nohup $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR \\
- --skip-locking >> $err_log 2>&1
+ --skip-locking -O max_connections=1000 >> $err_log 2>&1
else
nohup $ledir/mysqld --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR \\
- --skip-locking \"$@\" >> $err_log 2>&1
+ --skip-locking \"$@\" -O max_connections=1000 >> $err_log 2>&1
fi
if test ! -f $pid_file # This is removed if normal shutdown
then
然后关闭mysql重启它,用
/mysqladmin所在路径/mysqladmin -uroot -p variables
输入root数据库账号的密码后可看到
| max_connections | 1000 |
即新改动已经生效。

2.修改原代码

解开MySQL的原代码,进入里面的sql目录修改mysqld.cc找到下面一行:

{ \"max_connections\", (long*) &max_connections,1000,1,16384,0,1},

把它改为:

{ \"max_connections\", (long*) &max_connections,1000,1,16384,0,1},

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

共有 5 条评论

  1. jerry520 于 2009-03-27 16:43:58发表:

    呵呵,不错啊!学习了.

  2. wide 于 2005-09-13 00:50:40发表:

    不错,支持

  3. ming 于 2005-09-07 00:48:28发表:

    受教

  4. linux 于 2005-08-07 00:33:25发表:

  5. 三脚猫 于 2005-07-08 11:35:12发表:

    以下都是别人的意见:

    同一个方法,但是我在window下和linux下都没有找到"safe_mysqld"这个文件,不知道还有没有别的方法,或者,是我找的路径不对,请教??

    safe_mysqld是以前的名字. mysql版本4以上叫mysqld-sate了
    这是个脚本,用来启动和监控mysqld服务器的。在windows下面没有。
    至于max_connections只是一个环境变量。set一下试一试。


    多谢 ccna !
    能说一下set的写法吗?
    我在mysql/bin/ 下
    输入:set max_connections=300 回车后
    没有报错也没有其它提示
    然后用
    mysqladmin -u -p variables
    查询max_connections 这一项还是等于100



    在mysql/bin/下
    mysql -uroot -p
    >set max_connections=300
    记得用有SUPER权限的帐户作。



    现在我的状况:

    还是不得行,,HELP ME~~~~~~~~~~~~~~