您的位置:首页 > 数据库 > MySQL

遇到的问题-----------perl脚本用handlersocket把数据插入mysql执行时报错lock_tables

2013-11-27 20:18 387 查看
对mysql用Handlersocket perl插入数据时 突然发生了lock_tables错误。

perl脚本中使用了多线程。

该脚本没有问题 之前使用得很好。 

这时候 我用下面的流程排除错误的原因:

1.操作 :用一脚本对另一个表插入  

  结果: 仍然是lock_tables 

2.操作:用脚本对另一个库插入

 结果 :仍然是lock_tables

3.操作:用脚本对另一个台服务器中的mysql插入 

  结果:可以插入

结论:  是当前服务器的mysql中的问题。脚本中执行端的handlersocket模块没问题。

检测 当前服务器的mysql

1.操作:直接用insert语句在mysql中插入数据。

 结果: 插入成功。

结论:mysql正常,则mysql端的handlersocket有问题。

2.操作:检查handlersocket是否还存在 9999 9998端口是否仍在监听

结果:正常

3.把handlersocket删除uninstall plugin 后重装一遍。

结果:仍然是lock_tables

用service mysqld status查看状态 

发现 情况为 mysqld is not running,but  /var/lock/subways/mysql exist 

mysqld的handlersocket模块好像进入了死锁或者假死状态。 总之就是不能做插入操作。

!!!!!!结果发现竟然是空间问题。



df -h

命令可以看到 
竟然是 mysql数据库所在的文件夹空间用完了。



解决空间问题后 就ok了 不会再报lock_tables 错误。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐