我有一个简单的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”和其他所有东西都不能。
service mysql stop && pkill -f mysql
摆脱所有的MySQL进程
vi /etc/mysql/my.cnf
将参数datadir = / var / lib / mysql更改为datadir = / var / lib / mysql2(或者只是在没有的情况下添加)
mv /var/lib/mysql /var/lib/mysql2
将datadir重命名为新名称
service mysql start
准备你的手鼓
检查空间,以确保它是100%
df -h
就好像它充满了它不会创build.sock文件。