mysql的1135错误解决方法

   mysql的1135的报错信息如下:

  SQLSTATE[HY000] [1135] Can't create a new thread (errno 12); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug

  解决方案:

  修改my.ini,增加2个参数:

  innodb_thread_sleep_delay=40

  wait_timeout=100

  interactive_timeout=100

  重启MYSQL服务器

  以上的问题主要是线程数太多:

  1.是连接数太多

  2.是每个线程允许的生命周期太长,就跟http的timeout一样。

  LINUX下检查连接数的方法如下:

  ps -aux | grep mysql

  【补充知识】================================

  MySQL中的配置参数interactive_timeout和wait_timeout

  (1)interactive_timeout:

  参数含义:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。

  参数默认值:28800秒(8小时)

  (2)wait_timeout:

  参数含义:服务器关闭非交互连接之前等待活动的秒数。

  在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义)。

  参数默认值:28800秒(8小时)

  MySQL服务器所支持的最大连接数是有上限的,因为每个连接的建立都会消耗内存,因此我们希望客户端在连接到MySQL Server处 理完相应的操作后,应该断开连接并释放占用的内存。如果你的MySQL Server有大量的闲置连接,他们不仅会白白消耗内存,而且如果连接一直在累加而不断开,最终肯定会达到MySQL Server的连接上限数,这会报'too many connections'的错误。对于wait_timeout的值设定,应该根据系统的运行情况来判断。在系统运行一段时间后,可以通过show processlist命令查看当前系统的连接状态,如果发现有大量的sleep状态的连接进程,则说明该参数设置的过大,可以进行适当的调整小些。

  问题:

  如果在配置文件my.cnf中只设置参数wait_timeout=100,则重启服务器后进入,执行:

  Mysql> show variables like “%timeout%”;

  会发现参数设置并未生效,仍然为28800(即默认的8个小时)。

  查询资料后,要同时设置interactive_timeout和wait_timeout才会生效。

  【mysqld】

  Wait_timeout=100

  Interactive_timeout=100

  重启MySQL Server进入后,查看设置已经生效。

时间: 2024-12-02 09:16:06

mysql的1135错误解决方法的相关文章

Mysql 1864 主从错误解决方法_Mysql

从字面意思看了一下是因为slave_pending_jobs_size_max默认值为16777216(16MB),但是slave接收到的slave_pending_jobs_size_max为17085453(17M): 解决方案 从库执行如下SQL mysql>stop slave; mysql>set global slave_pending_jobs_size_max=20000000; mysql> start slave; #在多线程复制时,在队列中Pending的事件所占用

MySQL启动1053错误解决方法_Mysql

操作系统:windows7 mysql版本:5.5.22 www.jb51.net 在使用命令mysqld --install servicename --defaults-file='file_name'创建mysql服务时,系统 已提示创建服务成功,但是net start命令提示启动失败,并在services.msc中提示1053错误 解决办法: 在网上有人说是服务的"登录"选项卡里要设置成administrator: 也有人说是需要先把服务删除,在重新创建(可以先考虑这两方面):

关于MySQL的1067错误解决方法

内容: ************* 1 安装MYSQL后更改了ROOT的密码后用 net startmysql 启动时我就遇到了这样的问题.使用以下命令后 c:/mysql/bin/mysqladmin-u root -p shutdown 再net start mysql就没有这个错误提示了! ************* 2 MySQL的1067错误 Q:我的Mysql碰到了 1067 错误 错误信息为: A system error has occurred. System error 10

Mysql ERROR 1577错误解决方法_Mysql

今天将Mysql升级到了5.1.31,用Navicat打开数据库添加数据,出现了1577错误,提示信息: 复制代码 代码如下: ERROR 1577 (HY000): Cannot proceed because system tables used by Event Scheduler were found damaged at server start. 查看手册(5.4. mysql_fix_privilege_tables:升级MySQL系统表),一些MySQL发布对mysql数据库中的

mysql的1067错误解决方法

作者fbysssmsn:jameslastchina@hotmail.com blog:blog.csdn.net/fbysss声明:本文由fbysss整理编写,转载请注明出处关键字:MySQL,1067错误我的机器不知为何,安装MySQL的时候,一到配置那一步就无休止的等待,只好结束任务,然而启动MySQL的时候出现1067错误提示.卸载,依然出现无休止等待,解决办法是先结束任务,然后点击'更改',repair,然后再进行卸载.后来看了一篇文章,说是system用户权限没加上的问题,我的安装目

MySQL启动错误解决方法_Mysql

一般情况下mysql的启动错误还是很容易排查的,但是今天我们就来说一下不一般的情况.拿到一台服务器,安装完mysql后进行启动,启动错误如下: 有同学会说,哥们儿你是不是buffer pool设置太大了,设置了96G内存.这明显提示无法分配内存嘛.如果真是这样也就不在这里进行分享了,哈哈. 我的服务器内存是128G.如下图: 服务器内存使用情况: 那么问题来了,既然还剩如此多的内存,为什么提示无法分配内存??.各位童鞋怎么看? 1. 首先想到会不会是有几条内存坏了?于是运维的同学进行了检查,给我

MySQL 1594错误解决方法

MySQL 1594错误解决方法 MySQL 1594错误解决方法: 例:  www.bitsCN.com Master_Log_File: mysqld-bin.000042 Read_Master_Log_Pos: 99749808 Relay_Log_File: mysqld-relay-bin.000083 Relay_Log_Pos: 15995 Relay_Master_Log_File: mysqld-bin.000041 Slave_IO_Running: Yes Slave_S

MySQL 1236错误解决方法

MySQL 1236错误解决方法 由于主服务器异外重启, 导致从报错, 错误如下: show slave status错误: mysql> show slave status/G Master_Log_File: mysql-bin.000288 Read_Master_Log_Pos: 627806304 Relay_Log_File: mysql-relay-bin.000990 Relay_Log_Pos: 627806457 Relay_Master_Log_File: mysql-bi

ORA-04098错误解决方法

错误|解决 ORA-04098错误解决方法 数据库版本:8.1.5 平台:SOLARIS 5.7   背景: 用户建立了一个TRIGGER:create or replace trigger ddl_denybefore create or alter or drop on databasedeclarebegininsert into ddl_logs values(ora_dict_obj_owner,ora_dict_obj_name,sysdate);exceptionwhen no_d