MysqldatabaseToomanyconnections出现这种错误很明显是在mysql_connect之后忘记了mysql_close;大量连接后会出现Toomanyconnections错误,mysql默认连接数是100,什么情况下会出现这个错误?正常mysql_connect后,调用mysql_close()关闭连接,但是当连接错误时,当mysql_real_query()出错退出时,可能会忘记mysql_close();所以必须在程序返回前判断是否close()。最安全的方法是编写任何函数时只有一个出口!也可以通过修改mysql配置文件来增加允许连接数!有时你的服务器经常出现这样的错误:错误信息如下:CannotconnecttoMySQLserverError:TooomanyconnectionsErrno.:1040Similarerrorreporthasbeeddispatchedtoadministratorbefore。从官方文档得知在Linux上编译安装的mysql默认连接是100个文档:http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.htmlMysql官方告诉我们那我们需要修改max_connections的值,那我们怎么修改呢?有两种方法1、修改配置文件修改/etc/my.cnf文件,在[mysqld]中添加max_connections=N,如果没有这个文件,请从编译源中的support-files文件夹中复制code所需的*.cnf文件在/etc/my.cnf中。我正在使用my-medium.cnf,中型服务器配置。例如我的[mysqld]的内容如下:[mysqld]port=3306socket=/tmp/mysql.sockskip-lockingkey_buffer=160Mmax_allowed_pa??cket=1Mtable_cache=64sort_buffer_size=512Knet_buffer_length=8Kread_buffer_size=256Kread_rnd_buffer_size=512Kmyisam_sort_buffer_size=8Mmax_connections=1000由于对mysql还不是很熟悉,所以很多参数都没有修改。哈哈。.2、mysqld脚本没有自动启动的用户。修改MYSQLHOME/bin/mysqldsafe文件例如:/usr/local/mysql/bin/mysqldsafe这个文件grep-n'maxconnection'MYSQLHOME/bin/mysqldsafe文件例如:/usr/local/mysql/bin/mysqldsafe这个filegrep-n'maxconnection'MYSQL_HOME/bin/mysqld_safe修改对应行号的max_connections参数值3.服务器登录mysql:mysql-uroot-p90%进不去,进不了则执行重启命令:/etc/init.d/mysqlrestart(centos系统)此时重启mysql,就可以连接mysql了。如果您还有时间,可以继续下一步。治病打开配置文件,再次添加配置vi/etc/my.cnfwait_timeout=600interactive_timeout=600Restartmysql回答原理。mysql默认的连接数是100,超过了会连接不上。实际工作的连接数远不是100个,大部分都在休眠,所以要么增加连接数,要么杀掉无用的连接。推荐后者。
