私はCentOSバージョン6.5(最終)仮想マシンでMySQLを実行しています。 Joomlaテストに使用されます。
物理ホストが頻繁に再起動しますが、これは問題ありません。ただし、VMは完全なシャットダウンを実行しません。再起動すると、ここにロックファイルが表示されます。/var/lib/mysql/mysql.sock
現在手動で実行している私のために削除するシェルスクリプトを作成しました。これはうまくいきますが、実行する必要があります。
#!/bin/bash
sudo mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
sudo service mysqld restart
誰かがロックファイルを自動的に削除するには、/etc/init.d/mysqlを編集するように提案しました。これは良い考えのように思えるかもしれませんが、ファイルをロックすることは実際に重要な目的を果たします。
再起動後にロックされたファイルを自動的に削除する方法は?
ベストアンサー1
ソケットファイルは、プロセスが実行されているサーバーと通信する方法です。サーバーがダウンすると、ソケットはもう必要ありません。あなたが言ったようにサーバーが正常にシャットダウンできる場合、サーバーは削除されます。ソケットがすでに存在する場合、MySQLは起動せず、エラーメッセージが表示されます。サーバーが稼働していないときに削除するだけです。
次の行を編集し/etc/init.d/mysql
て見つけます。
start(){
その下に次を挿入します。
if [ -S /var/lib/mysql/mysql.sock ] ; then
rm /var/lib/mysql/mysql.sock
fi
次のようにしてください。
start(){
if [ -S /var/lib/mysql/mysql.sock ] ; then
rm /var/lib/mysql/mysql.sock
fi