【问题标题】:InnoDB: Unable to lock ./ibdata1 error: 35InnoDB:无法锁定 ./ibdata1 错误:35
【发布时间】:2015-11-16 23:22:44
【问题描述】:

我正在尝试以安全模式启动 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.

注意事项:

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

  2. 我读过这个having repeated trouble with MySQL and Snow Leopard - Unable to lock ./ibdata1, error: 35

【问题讨论】:

    标签: mysql


    【解决方案1】:

    刚刚在使用 MAMP Pro 时遇到了这个问题。无法停止或启动 MySQL。每行输入ps aux | grep mysql,然后输入kill [process id]。然后我可以从 MAMP Pro 再次成功启动 MySQL。

    【讨论】:

    • 这解决了我的问题,但我确实注意到了另一个 mysql 进程,即使我没有启动 mysql,它也会不断重新出现。每秒左右一个新的进程ID。一次只有一个活跃
    • @BobB 这可能是您在进程列表中看到的实际 grep mysql 命令。
    • @Larry,grep mysql 和新的_mysql 进程都在那里。例如:Keitel 1302 0.0 0.0 4267752 624 s000 R+ 8:13AM 0:00.00 grep mysql _mysql 1300 0.0 2.2 4665848 182144 ?? Ss 8:13AM 0:00.34 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --keyring-file-data=/usr/local/mysql/keyring/keyring --early-plugin-load=keyring_file=keyring_file.so
    【解决方案2】:

    来自 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, error: 35, on a Mac OS X 10.9.1

    【讨论】:

      【解决方案3】:

      在将 MAMP 从 4.x 更新到 5.x 后,我遇到了类似的问题

      不幸的是,我可以设法解决此问题的唯一方法是手动删除我的所有数据库文件(将它们移动到另一个目录中),然后通过 MAMP 启动 MySQL;这似乎有效。

      有问题的文件(对我而言)位于:

      /Library/Application Support/appsolute/MAMP PRO/db/mysql57

      此目录中的所有文件(mysql 目录除外)都需要移动到其他位置。然后我就可以启动 MySQL了。

      我意识到这对于大多数情况来说并不是一个非常有用的答案,但如果这是一个本地开发环境(如 MAMP,就我而言),那么我认为丢失本地数据库可能是可以接受的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-22
        • 2016-06-28
        • 2023-01-29
        • 1970-01-01
        • 2022-12-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多