可以通过 set GLOBAL max_connections=100命令将最大连接数设置为100,此方法是即时生效的,不需要重启mysql服务。
需注意的是,要通过root权限的mysql帐号才能 *** 作,否则会报“1227 - Access deniedyou need (at least one of) the SUPER privilege(s) for this operation”的错误。
设置max_connections最小值为1。
解决方式二:修改my.cnf
打开mysql的配置文件vim /etc/my.cnf,加入max_connections=100一行(如果有,直接修改值即可),然后重启服务:/etc/init.d/mysqld restart,此时生效。
你都没列出错误代码,比较难问题,我猜是连接超时或超出连接数了,你检查下如下变量,并根据你实际需求设置下面参数到合适值试试:mysql>show variables like 'connect_timeout'
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| connect_timeout | 10|
+-----------------+-------+
1 row in set (0.00 sec)
mysql>show variables like 'interactive_timeout'
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| interactive_timeout | 28800 |
+---------------------+-------+
1 row in set (0.00 sec)
mysql>show variables like 'wait_timeout'
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 28800 |
+---------------+-------+
1 row in set (0.00 sec)
mysql>show variables like '%max_connections%'
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 151 |
+-----------------+-------+
1 row in set (0.00 sec)
mysql>
PS:建议你到mysql的data目录下,看看后缀为.err的mysql错误日志文件,看里面是否有更详尽的错误信息,这样才容易分析问题所在。
错误里面提示很明显了(提示用msql_upgrade命令来修复):
试下下面的吧:
mysql_upgrade –u username –ppsw –socket=d:\mysql.sock
或
mysql_upgrade -uroot -p –basedir=d:\mysql5\bin\mysql
(注意:上面socket或basedir要根据你本地的mysql的设置来更改).
这个错误和并发没什么关系,主要是你调用mysql_errror()的时候,连接数据库的句柄已经提前关闭了。
请检查是否在mysql_errror()时,是否已经mysql_close()了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)