对不起,问题的标题,这是我的问题:我一直在试图设置一些脚本,从外部源每小时导入大量的东西。 他们似乎工作得很好,所以我build立了一个cronjob,每小时运行一次。 一天后,我发现该脚本的六七个实例只是占用MySQL服务器,使其无响应。 我杀了他们的进程,但MySQL仍然没有回应。 我不得不杀了MySQL,重新启动,然后MySQL再次开始工作(谁知道什么)和没有响应(是的,我没有从cronjobs删除脚本)。 我SHOW PROCESSLIST编辑和杀死我能find的每一个进程。 还有什么,MySQL占用硬盘,并在top ,使服务器负载在天上。 我不知道该怎么做,如果我杀了并重新开始,它可能会做同样的事情。 我该怎么办?
你DB正在做它应该做的事情。 当一个事务被杀害,它需要被回滚。 如果你想要一个一致的数据库,你不能阻止它。
如果这对你并不重要,那就杀掉MySQL并从头开始创build一个全新的数据库,除非你让回滚完成,否则这个永远不会再工作。
对cron工作的build议,使你在工作中首先要做的是检查你是否还在前一次运行,如果是,退出。 确保你有logging发生了什么事情,所以你可以调整运行之间的时间,以更好的价值。