InnoDB:无法锁定./ibdata1错误:35

Sno*_*ash 14 mysql

我正在尝试以安全模式启动MySQL,但日志文件只是继续吐出:

[ERROR] InnoDB: Unable to lock ./ibdata1 error: 35
[Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.
Run Code Online (Sandbox Code Playgroud)

笔记:

  1. 我已经停止了所有mysql进程并使用该ps命令进行了检查

  2. 我已经读过这个有MySQL和Snow Leopard的重复问题 - 无法锁定./ibdata1,错误:35

Nic*_*rat 25

刚刚与MAMP Pro有这个问题.无法停止或启动MySQL.键入ps aux | grep mysql,然后kill [process id]为每一行.然后我可以从MAMP Pro再次成功启动MySQL.

  • 这解决了我的问题,但我注意到了另一个mysql进程,即使我没有启动mysql也不断重现.每秒钟左右一个新的进程ID.一次只有一个活跃 (2认同)

Sas*_*hev 14

来自MySQL和操作系统的奇怪错误代码可以通过运行shell命令来解释,该命令perror是MySQL发行版的一部分.例如,在Linux上,perror 35返回OS error code 35: Resource deadlock avoided.我没有方便测试的OSX系统,但是从这个:

http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/sys/errno.h

我收集错误35是"资源暂时不可用",这意味着其他一些进程(可能是mysqld的另一个实例?)已经锁定了该文件.

要调试,首先我会检查是否有另一个MySQL进程偶然运行(看起来你已经有),如果没有,请重新启动以确保没有奇怪的过时文件锁,然后再试一次.

有人之前遇到过这个错误,并找到了解决方案:

mysql_install_db,错误:35,在Mac OS X 10.9.1上