scribble

守望的麦子

About Projects Tool Guestbook

31 Oct 2007
解决MySQL 1040错误Too many connections的方法

错误信息如下:
[quote]Can not connect to MySQL server
Error: Too many connections
Errno.: 1040

Similar error report has beed dispatched to administrator before.[/quote]
从官方文档知道linux上面编译安装的mysql默认的连接为100个,这样对于网站的需求来说是远远不够的。
文档:http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html

If you get a Too many connections error when you try to connect to the mysqld server, this means that all available connections are in use by other clients.

The number of connections allowed is controlled by the max_connections system variable. Its default value is 100. If you need to support more connections, you should restart mysqld with a larger value for this variable.

mysql官方告诉我们需要修改max_connections的值,那么我们怎么去修改呢?有两种方法
1、修改配置文件文件
修改/etc/my.cnf这个文件,在[mysqld]中新增max_connections=N,如果你没有这个文件请从编译源码中的support-files文件夹中复制你所需要的*.cnf文件为到/etc/my.cnf。例如my-medium.cnf中型服务器配置内容如下

[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 160M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
max_connections=1000

2、非使用mysqld脚本自动启动的用户。
修改$MYSQL_HOME/bin/mysqld_safe文件
例如:/usr/local/mysql/bin/mysqld_safe这个文件
grep -n ‘max_connection’ $MYSQL_HOME/bin/mysqld_safe
修改对应行号的max_connections参数值

Til next time,
Jason at 00:00

scribble

About Projects Tool Guestbook