首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

解决Mysql错误Too many connections的方法

2023-11-11 来源:花图问答

正常的mysql_connect 之后调用 mysql_close()关闭连接但在连接错误时,会者mysql_real_query()出现错误退出时,可能忘记mysql_close();所以在程序return 之前一定要判断是否close(),最稳妥的方法就是在写任何函数时都只有一个出口!还有可以通过修改mysql配置文件来加大允许连接的数量!

有时你的服务器是经常出现这样的错误呢:错误信息如下:Can not connect to MySQL server

Error: Too many connectionsErrno.: 1040

Similar error report has beed dispatched to administrator before.

从官方文档知道Linux上面编译安装的mysql默认的连接为100个文档:http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html

mysql官方告诉我们需要修改max_connections的值,那么我们怎么去修改呢?有两种方法1、修改配置文件文件修改/etc/my.cnf这个文件,在[mysqld] 中新增max_connections=N,如果你没有这个文件请从编译源码中的support-files文件夹中复制你所需要的*.cnf文件为到 /etc/my.cnf。我使用的是my-medium.cnf,中型服务器配置。例如我的[mysqld]的内容如下[mysqld]port = 3306socket = /tmp/mysql.sockskip-lockingkey_buffer = 160Mmax_allowed_packet = 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脚本自动启动的用户。修改$MYSQL_HOME/bin/mysqld_safe文件例如:/usr/local/mysql/bin/mysqld_safe这个文件grep -n ‘max_connection’ $MYSQL_HOME/bin/mysqld_safe修改对应行号的max_connections参数值

解决Mysql错误Too many connections的方法

标签:mil   space   tar   medium   query   dispatch   ini   my.cnf   安装   

小编还为您整理了以下内容,可能对您也有帮助:

mysql服务too many connections 怎么解决

连接数超过了 MySQL 设置的值,与 max_connections 和 wait_timeout 都有关系。wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。
解决方法:
修改MySQL配置文件/etc/my.cnf,设置成max_connections=1000,wait_timeout=5。如果没有此项设置可以自行添加,修改后重启MySQL服务即可。

mysql服务too many connections 怎么解决

连接数超过了 MySQL 设置的值,与 max_connections 和 wait_timeout 都有关系。wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。
解决方法:
修改MySQL配置文件/etc/my.cnf,设置成max_connections=1000,wait_timeout=5。如果没有此项设置可以自行添加,修改后重启MySQL服务即可。

解决Mysql错误Too many connections的方法

MySQL数据库 Too many connections

出现这种错误明显就是 mysql_connect 之后忘记 mysql_close;

当大量的connect之后,就会出现Too many connections的错误,mysql默认的连接为100个,而什么情况下会出现这种错误呢?

正常的mysql_connect 之后调用 mysql_close()关闭连接

但在连接错误时,会者mysql_real_query()出现错误退出时,可能忘记mysql_close();

所以在程序return 之前一定要判断是否close(),最稳妥的方法就是在写任何函数时都只有一个出口!

还有可以通过修改mysql配置文件来加大允许连接的数量!

有时你的服务器是经常出现这样的错误呢:

错误信息如下:

Can not connect to MySQL server

Error: Too many connections

Errno.: 1040

Similar error report has beed dispatched to administrator before.

从官方文档知道Linux上面编译安装的mysql默认的连接为100个

文档:http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html

mysql官方告诉我们需要修改max_connections的值,那么我们怎么去修改呢?有两种方法

1、修改配置文件文件

修改/etc/my.cnf这个文件,在[mysqld] 中新增max_connections=N,如果你没有这个文件请从编译源码中的support-files文件夹中复制你所需要的*.cnf文件为到 /etc/my.cnf。我使用的是my-medium.cnf,中型服务器配置。例如我的[mysqld]的内容如下

[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

由于对mysql还不是很熟悉,所以很多参数没有修改。哈哈。。

2、非使用mysqld脚本自动启动的用户。

修改MYSQLHOME/bin/mysqldsafe文件例如:/usr/local/mysql/bin/mysqldsafe这个文件grep−n‘maxconnection′

MYSQLHOME/bin/mysqldsafe文件例如:/usr/local/mysql/bin/mysqldsafe这个文件grep−n‘maxconnection′MYSQL_HOME/bin/mysqld_safe

修改对应行号的max_connections参数值

3、服务器登录mysql : mysql -u root -p

百分之九十进不去,进不去的执行重启命令 :/etc/init.d/mysql restart(centos系统)

此时重启mysql就能连接mysql了,如果还有时间,可以继续下一步,治病要治本

打开配置文件 添加一下配置 vi /etc/my.cnf

wait_timeout = 600

interactive_timeout = 600

再次重启mysql即可

原理解答

mysql 默认100 连接数,超过则连不上,实际工作的连接数远远没有100,大部分在sleep

所以要么增大连接数,要么杀掉无用连接,推荐后者。

windows重启mysql显示Too many connections怎么办

您好,很高兴为您解答。

一、mysql服务

我的电脑——(右键)管理——服务与应用程序——服务——MYSQL——开启(停止、重启动)

二、命令行方式

Windows

1.点击“开始”->“运行”(快捷键Win+R)。

2.启动:输入 net stop mysql

3.停止:输入 net start mysql

提示* Redhat Linux 也支持service command,启动:# service mysqld start 停止:# service mysqld stop 重启:# service mysqld restart

* Windows下不能直接重启(restart),只能先停止,再启动。

可以通过批处理完成,保存为:mysqlreset.bat

net stop mysql

net start mysql

三、Too many connections

2008-04-30┆379,578 Views┆56,071

错误编号:1040

问题分析:

连接数超过了 MySQL 设置的值,与 max_connections 和 wait_timeout  都有关系。

wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。

解决方法:

1、虚拟主机用户请联系空间商优化 MySQL 服务器的配置;

2、主机用户请联系服务器管理员优化 MySQL 服务器的配置,可参考:

修改 MySQL 配置文件(Windows下为 my.ini, Linux下为 my.cnf )中的参数:

 

max_connections= 1000 

wait_timeout = 5

如果没有可以自行添加,修改后重启 MySQL ,如果经常性的报此错误,请按照服务器环境搭建教程检查服务器。

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

                                                                                                                            ~ O(∩_∩)O~

显示全文