我对服务器维护知之甚少,并且正在尝试通过管理我自己的Mac来学习。我正在使用MySQL数据库(5.5.9)运行本地rails应用程序。一直很好,直到我试图开始一个新的铁轨项目。那时,我运行了bundle install,它将我的mysql gem从0.2.6更新到0.3.6。从那以后,或者我正在关联它(可能是我也在那个时候安装了RVM),我无法启动我的MySQL服务器。我收到以下错误:
Unable to lock ./ibdata1, error: 35
反复。我试过修理:
mv ibdata1 ibdata1.bak
cp -a ibdata1.bak ibdata1
有效(参考:http://cglreport.zhenhua.info/2008/08/mysql-error-unable-to-lock-ibdata1.html)(我必须在其他几个文件上做),但它只能工作一段时间。当我重新启动时,或定期问题再次出现。这是怎么回事 ?这对我来说似乎不是一个合理的解决方案。想法?谢谢!
答案 0 :(得分:14)
这听起来非常令人信服,就像你已经有一个运行MySQL服务器的实例,并且你正试图窃取它正在使用的数据文件。
答案 1 :(得分:0)
以下是为我修好的内容,四处看看并没有任何帮助。
要解决此问题,请复制原始文件(ibdata1,ib_logfile0,ib_logfile1 ...)。
mv /var/lib/mysql/ibdata1 /var/lib/mysql/ibdata1.bak
cp -a /var/lib/mysql/ibdata1.bak /var/lib/mysql/ibdata1
现在启动mysql服务。
/etc/init.d/mysql start
在我的情况下,它是XAMPP文件所以我做了
sudo mv /Applications/XAMPP/xamppfiles/var/mysql/ibdata1 /Users/username/Documents/tmp/ibdata1.bak
sudo cp -a /Users/username/Documents/tmp/ibdata1.bak /Applications/XAMPP/xamppfiles/var/mysql/ibdata1
然后我注意到mysql已经为我启动了。
基于解决方案here