2011-08-07 7 views
9

サーバのメンテナンスについてよくわかりません。自分のMacを管理して学習しようとしています。私はMySQLデータベース(5.5.9)でローカルのレールアプリケーションを実行しています。私は新しいレールプロジェクトを始めようと試みるまでずっとずっとずっとうまくいっています。その時、私は0.2.6から0.3.6に私のmysqlの宝石を更新バンドルインストールを実行しました。それ以来、または私はそれに関連しています(それは私がRVMをその周りにインストールしたことかもしれません)、私はMySQLサーバを起動できません。次のエラーが表示されます。MySQLとSnow Leopardで繰り返し問題が発生する - ロックできません./ibdata1、エラー:35

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

に基づいて、エラーは次のようになります。サーバを起動することはできません:TCP/IPポートにバインド:使用中のすでに3036の住所。奇妙な - 助けて!!!! – panzhuli

+0

"top"コマンドを実行すると、3036 btw – panzhuli

+0

'top'で実行中の何も表示されず、ポート番号について何も教えてくれません。 – duskwuff

答えて

13

あなたのMySQLサーバのインスタンスが既に稼働しているように、それはかなり説得力があります。使用しているデータファイルを盗もうとしています。

+0

には、ポート3036で何が実行されているかをシステムに尋ねる方法がありますか?ターミナルから「トップ」を走らせるときに私は何も見ない。私はこれがここの私の知識の限界だと思っています... – panzhuli

+5

おそらく 'ps ax | grep mysql'を探しやすくなります。後世は、 'lsof -np | grep:mysql'を試してみてください。 ( 'lsof'はポート番号を出力のサービス名に変換するので、":3306 "ではなく":mysql "を探す必要があります) – duskwuff

+0

ありがとうございます。サーバが再び起動した行に沿ったどこかにあります。なぜこれは繰り返し起こっていると思いますか?上記のファイルは壊れていますか? – panzhuli

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 

私は

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 

をしたので、それがXAMPPのファイルだったそれから私は、MySQLはすでに私のために開始されたことに気づきました。

ソリューションhere

関連する問題