【问题标题】:Checking for tables which need an upgrade, are corrupt or were not closed cleanly检查需要升级、损坏或未完全关闭的表
【发布时间】:2014-04-05 17:41:56
【问题描述】:

我在我的 EC2 上运行 mysql,当我尝试这样做时: 须藤 /etc/init.d/mysql 重启 我得到了这个:

  • 停止 MySQL 数据库服务器 mysqld
  • 启动 MySQL 数据库服务器 mysqld
  • 检查需要升级、损坏或未完全关闭的表。

这是我的 /var/log/mysql/error.log 中的内容

InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
InnoDB: Unable to lock ./ibdata1, error: 11
InnoDB: Check that you do not already have another mysqld process
InnoDB: using the same InnoDB data or log files.
140406  1:47:27  InnoDB: Unable to open the first data file
InnoDB: Error in opening ./ibdata1
140406  1:47:27  InnoDB: Operating system error number 11 in a file operation.
InnoDB: Error number 11 means 'Resource temporarily unavailable'.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/operating-system-error-codes.html
140406  1:47:27 InnoDB: Could not open or create data files.
140406  1:47:27 InnoDB: If you tried to add new data files, and it failed here,
140406  1:47:27 InnoDB: you should now edit innodb_data_file_path in my.cnf back
140406  1:47:27 InnoDB: to what it was, and remove the new ibdata files InnoDB created
140406  1:47:27 InnoDB: in this failed attempt. InnoDB only wrote those files full of
140406  1:47:27 InnoDB: zeros, but did not yet use them in any way. But be careful: do not
140406  1:47:27 InnoDB: remove old data files which contain your precious data!
140406  1:47:27 [ERROR] Plugin 'InnoDB' init function returned error.
140406  1:47:27 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140406  1:47:27 [ERROR] Unknown/unsupported storage engine: InnoDB
140406  1:47:27 [ERROR] Aborting

140406  1:47:27 [Note] /usr/sbin/mysqld: Shutdown complete

140406 01:47:27 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

谁能告诉我这是怎么回事?

谢谢

【问题讨论】:

  • 你升级 MySQL 了吗?可能没什么好担心的。
  • 我的MySQL目前是5.5,要不要升级到5.6,问题就解决了?我目前的问题是 mysql 服务器似乎经常“消失”。
  • “已经消失”可能是一个不同的问题。您能否提供有关您的设置和应用程序的更多信息?
  • 可以分享/var/log/mysql下启动和停止mysql的日志吗?
  • 我在我的帖子中添加了来自 error.log 的更多信息。谢谢!

标签: mysql amazon-ec2


【解决方案1】:
cd /var/lib/mysql  
#killall -9 mysqld
#innochecksum -d ibdata1
nano /etc/mysql/my.cnf
[mysqld]
innodb_force_recovery = 4
/etc/init.d/mysql start

【讨论】:

    【解决方案2】:

    看起来你有一个 mysql 进程正在运行。您的./ibdata1 文件被锁定。可能是由于某种原因您的service mysql stop 命令没有停止进程,因为它可能找不到您的mysql 服务器的PID

    从命令行运行:

    ps -Af | grep mysql
    

    获取你的mysql进程的PID,然后简单地:

    kill -9 <PID of your mysql process>
    

    【讨论】:

      猜你喜欢
      • 2019-08-06
      • 2021-01-19
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多