【MySql】修改max_connections 参数的方法

  开发说应用不能连接数据库,查看数据库连接信息已经超过最大允许连接数
1 数据库系统允许的最大可连接数max_connections。该参数是可以设置的。如果不设置,默认是100。最大是16384。 
2 数据库当前的连接线程数threads_connected。该参数是动态变化的。 
如果 threads_connected == max_connections 时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,结果如开发所说连接不了。如何修改max_connections呢?
方法1 在会话中修改
mysql> show variables like '%max_connections%'; 
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 151 |
+-----------------+-------+
1 row in set (0.00 sec)
mysql> set global max_connections=14000;
Query OK, 0 rows affected (0.01 sec)
mysql> show variables like '%max_connections%'; 
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 14000 |
+-----------------+-------+
1 row in set (0.00 sec)

方法2 在my.conf 参数中修改,不过需要重新启动mysql 服务!不推荐
方法3 在编译数据库时就进行以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可以获得同样的效果。
方法3 摘自 http://www.cnblogs.com/nzperfect/archive/2009/06/29/1513319.html
上一篇:Apollo生产环境整合springboot


下一篇:解决zabbix“ZBX_NOTSUPPORTED: Timeout while executing a shell script”报错