【问题标题】:How to solve InnoDB: Unable to lock ./ibdata1 mysql error?如何解决 InnoDB: Unable to lock ./ibdata1 mysql 错误?
【发布时间】:2016-06-28 22:36:11
【问题描述】:

2016-03-14 02:30:29 58150 [错误] InnoDB:无法锁定 ./ibdata1, 错误:35 2016-03-14 02:30:29 58150 [注意] InnoDB:检查你是否这样做 还没有另一个 mysqld 进程使用相同的 InnoDB 数据或 日志文件。

【问题讨论】:

  • 你检查了另一个mysqld进程吗?听起来你已经在运行守护进程了。

标签: mysql linux command-line-interface innodb


【解决方案1】:

首先,使用 ps 命令列出 MySQL 进程:

ps aux | grep mysql

然后杀死进程

sudo kill 56311

【讨论】:

    【解决方案2】:

    信不信由你,解决方案在别处。问题显然源于 AppArmor 配置错误。

    那就这样吧:

    $ apt install apparmor-profiles
    

    然后重启 MySQL(注意重启的速度)。

    我注意到在执行此操作时缺少与 AppArmor 相关的文件:

    $ systemctl status mysql.service
    

    瞧。

    【讨论】:

    • 这解决了这个问题,作为一个旁注,以防其他人遇到同样的问题; apparmor 错误在 mysql 启动时在 syslog 上报告。错误如下所示: audit: type=1400 audit(1490314801.743:24): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/mysqld" pid=21133 comm="apparmor_parser"
    【解决方案3】:

    它应该说“还有另一种解决方案:问题可能是 AppArmor”。如果您没有看到/var/log/apport.log 中的条目,那么AppArmor 可能不是问题所在。

    然而,一个有趣的解决方案。

    【讨论】:

    • 很好的答案,阐明了其他两个答案的上下文。一个建议,不要以“我猜”开头,你要么知道,要么不发布答案 LOL stackoverflow.com/help/how-to-answer ...链接到另一个答案或一些支持的文档可能会很好您在说什么,但仍然为目前的答案+1,它刚刚对我有所帮助
    猜你喜欢
    • 2017-07-10
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 2018-05-18
    相关资源
    最近更新 更多