遇到的问题-----------perl脚本用handlersocket把数据插入mysql
对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 错误。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |