mysql.sockを自動的に削除するには、/etc/init.d/mysqlを編集してください。

mysql.sockを自動的に削除するには、/etc/init.d/mysqlを編集してください。

私は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

おすすめ記事