出现mysql max-connections问题解决


mysql -p
show variables;
或者
mysql -uroot -p variables |grep max_connections
显示当前运行的Query:mysql> show processlist;
显示当前状态:mysql> show status;

修改MYSQL最大连接数的3种方法:

1. mysql>set GLOBAL max_connections=1000

2.修改 /usr/bin/mysqld_safe
vi /usr/bin/mysqld_safe
找到safe_mysqld编辑它,找到mysqld启动的那两行,:set number ,在386和388行,在后面加上参数 :
  -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"
  保存。

3.mysql 手工编译
  
解开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可以获得同样的效果。

相关内容