红联Linux门户
Linux帮助

如何修改Linux下MySQL 5的默认连接数

发布时间:2011-11-24 15:23:40来源:赛迪网作者:linux使用者

  这段时间服务器崩溃2次,一直没有找到原因,今天看到论坛发出的错误信息邮件,想起可能是mysql的默认连接数引起的问题,一查果然,老天,默认连接数才100,怎么够呀,在网上找了半天资料,有说修改my.cnf的,有说修改safe_mysqld,试了,前者无用,后者文件找不到,原来是以前的版本跟现在的版本有所不同。


  言归正传,我以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可以获得同样的效果。