MySQL 收到信号 11 错误并且从站已关闭

4 mysql

我的从服务器宕机了,mysqld 无法启动。我该怎么办?

下面是错误日志:

2014-09-26 12:51:53 14166 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11
2014-09-26 12:51:53 14166 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.
2014-09-26 12:51:54 14166 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11
2014-09-26 12:51:54 14166 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.
2014-09-26 12:51:55 14166 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11
2014-09-26 12:51:55 14166 [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)

Rol*_*DBA 5

这是什么原因?请注意以下 InnoDB 架构图

InnoDB 架构

从这个图,你可以看到一个插入缓冲来在InnoDB的缓冲池,并为连接插入缓冲在ibdata1中。此线程称为主线程。在目前的设计中,InnoDB 每个 MySQL 实例只能有一个主线程。

显然,根据上面的消息,mysqld 正在尝试启动并且另一个 mysqld 进程已经在运行。您需要转到操作系统执行以下操作:

  • 找到mysqld_safe进程并杀死它
  • 找到mysqld进程并杀死它
  • service mysql start
  • 如果 mysqld 抱怨 PID 文件已经存在,请删除 PID 文件并再次尝试启动 mysql。