MySQL不断崩溃:InnoDB:无法locking./ibdata1,错误:11

我有一个简单的networking服务器(Debian 6.0 x86,DirectAdmin具有1 GB的内存,仍然10 GB的可用空间,mySQl版本5.5.9),但是mySQL服务器不断崩溃,我需要杀死所有mySQL进程,才能够重新启动它再次。

/var/log/mysql-error.log输出:

 130210 21:04:26 InnoDB: Using Linux native AIO 130210 21:04:34 InnoDB: Initializing buffer pool, size = 128.0M 130210 21:05:42 InnoDB: Completed initialization of buffer pool 130210 21:05:48 InnoDB: Initializing buffer pool, size = 128.0M 130210 21:06:22 InnoDB: Initializing buffer pool, size = 128.0M 130210 21:06:27 mysqld_safe mysqld from pid file /usr/local/mysql/data/website.pid ended 130210 21:06:29 mysqld_safe mysqld from pid file /usr/local/mysql/data/website.pid ended 130210 21:07:22 InnoDB: Completed initialization of buffer pool 130210 21:07:51 mysqld_safe mysqld from pid file /usr/local/mysql/data/website.pid ended 130210 21:08:33 InnoDB: Completed initialization of buffer pool 130210 21:12:03 [Note] Plugin 'FEDERATED' is disabled. 130210 21:12:47 InnoDB: The InnoDB memory heap is disabled 130210 21:12:47 InnoDB: Mutexes and rw_locks use InnoDB's own implementation 130210 21:12:47 InnoDB: Compressed tables use zlib 1.2.3 130210 21:12:47 InnoDB: Using Linux native AIO 130210 21:13:11 InnoDB: highest supported file format is Barracuda. 130210 21:13:23 InnoDB: Initializing buffer pool, size = 128.0M InnoDB: The log sequence number in ibdata files does not match InnoDB: the log sequence number in the ib_logfiles! 130210 21:14:05 InnoDB: Database was not shut down normally! InnoDB: Starting crash recovery. 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. 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. 130210 21:17:53 InnoDB: Unable to open the first data file InnoDB: Error in opening ./ibdata1 130210 21:17:53 InnoDB: Operating system error number 11 in a file operation. 

我已经在mySQL网站上find了一个主题,但是没有解决scheme。

任何想法的人?

与Ubuntu 14.04。 我尝试重新启动时遇到此问题

 /etc/init.d/mysql restart 

反而尝试

 service mysql restart 

另一种方法来自同一个博客中的一个评论:

这帮助了我:

lsof -i:3306

然后杀死它(进程号码)

kill -9 PROCESS

例如杀死-9 13498

然后尝试重新启动MySQL。

通过http://www.webhostingtalk.com/archive/index.php/t-1070293.html

这个问题最常见的原因是试图启动MySQL时已经运行。

为了解决这个问题,closures任何正在运行的MySQL实例,然后使用正常的启动脚本(例如service mysql start重新启动它。

不要试图在使用分发包版本时手动启动MySQL,除非您准备好了一个受到伤害的世界。

复制原始文件(ibdata1,ib_logfile0,ib_logfile1 …)。

 mv ibdata1 ibdata1.bak cp -a ibdata1.bak ibdata1 

http://cglreport.zhenhua.info/2008/08/mysql-error-unable-to-lock-ibdata1.html

这帮助我解决了这个问题:

删除所有ibdata文件,让MySQL创build它们。

停止mysql:

 service mysql stop 

去mysql库:

 cd /var/lib/mysql/ 

将innodb文件移到某处以防万一需要:

 mv ib* /root/ 

启动mysql:

 service mysql start 

来自这里从谷歌search相同的重复错误,但错误代码13( InnoDB: Unable to lock ./ibdata1, error: 13 )。 在互联网上尝试了很多解决scheme之后,发明了一个帮助我的方法(apparmor!)

将这些行添加到config /etc/apparmor.d/usr.sbin.mysqld (并重新加载apparmor和mysql当然):

 /path/to/mysql/data/ r, /path/to/mysql/data/** rwk, 

经常解决scheme之间的主要区别:两个规则(对于dir本身和所有文件里面,注意双** )和k选项允许mysqllocking文件。

希望这可以帮助别人。

请检查my.cnf文件的[mysql]部分是否有pid-file参数。 如果它不存在,则unable to lock ...ibdata1.. error:1将发生。

简单,但比“cp -a”更快。 当“cp -a”和其他所有东西都不能。

  1. service mysql stop && pkill -f mysql

摆脱所有的MySQL进程

  1. vi /etc/mysql/my.cnf

将参数datadir = / var / lib / mysql更改为datadir = / var / lib / mysql2(或者只是在没有的情况下添加)

  1. mv /var/lib/mysql /var/lib/mysql2

将datadir重命名为新名称

  1. service mysql start

准备你的手鼓

检查空间,以确保它是100%

 df -h 

就好像它充满了它不会创build.sock文件。