加大MySql的最大连接数 
   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可以获得同样的效果

解决方案 »

  1.   

    单单改 max_connections=1000  这个行不行???
    其他的看不懂啊
      

  2.   

    我的MYSQL版本是3.22.21  按照您第一种方法
    但没发现您说的
    --- safe_mysqld.orig Mon Sep 25 09:34:01 2000 
    啊???
      

  3.   

    一般在WINDOWS系统目录下有my.ini文件
    如下:
    [WinMySQLAdmin]
    Server=D:/mysql/bin/mysqld-nt.exe[mysqld]
    basedir=D:/MYSQL
       #MySQL安装在D:\MYSQL目录下
    #bind-address=192.168.0.2
       #安装的机器IP为192.168.0.2
    datadir=D:/MYSQL/data
       #MYSQL的数据库文件放在D:\MYSQL\data
    language=D:/MYSQL/share/chinese
       #MYSQL系统反馈的错误信息为中文,(我自己汉化了一下  ^_^)
    #port=3306
       #TCP/IP的侦听端口为3306
    #set-variable=key_buffer=16M
       #最大索引为16M
    #set-variable = max_allowed_packet = 8M
       #最大允许传送的数据包为8M
       #在传送图像文件时需修改此值 set-variable = max_connections=1000
      #你要改的就是这个了
      

  4.   

    mysql在100个并发情况下没有问题,在1000个时性能才少落后于oracle.
      

  5.   

    楼上的兄弟们 不得行啊,我不是问什么优越性的 我是要解决实际问题 不可能换数据库的,里面有几万条记录,还有200多个PHP文件 改死人的;
    还有啊 我的是LINUX 7.2 不是windows,
    我已经试了两种方法了 还是不行啊 还是100的最大连接
      

  6.   

    两种办法:
     这个问题我碰到过,你可以尝试以下办法:
      
      第一种:修改配置,如楼上那位兄弟所说;
      第二种:当你在使用mysql语句调用数据库时,在每次之执行语句前,会做一个临时的变量用来打开数据库,所以你在使用mysql语句的时候,记得在每次调用完mysql之后就关闭mysql临时变量,这样可以完全避免发生类似的错误。
     祝你好运!
      

  7.   

    还是回到老话题???
    用mysql_connect好还是mysql_pconnect?好?