【導入実績300社以上】AWS 構築・運用保守サービス

【導入実績300社以上】AWS 構築・運用保守サービス

【サーバー管理不要】WordPress専用クラウド『WebSpeed』

【サーバー管理不要】WordPress専用クラウド『WebSpeed』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【コミュニケーションアプリ開発】LINE アプリ開発サービス

【コミュニケーションアプリ開発】LINE アプリ開発サービス

【ECサイト構築】Shopify カスタムアプリ開発サービス

【ECサイト構築】Shopify カスタムアプリ開発サービス

【音声アプリ開発】Twilio アプリ開発サービス

【音声アプリ開発】Twilio アプリ開発サービス

【グローバル対応】北米リージョン・クラウド / サーバー サポート

【グローバル対応】北米リージョン・クラウド / サーバー サポート

【CPU】AMD EPYC 技術検証(PoC)サービス

【CPU】AMD EPYC 技術検証(PoC)サービス

【Webシステム / サービス開発】SAKARAKU Lab(セカラクラボ)

【Webシステム / サービス開発】SAKARAKU Lab(セカラクラボ)

【取材記事】サーバー系企業ビヨンドが サーバーサイドエンジニアを募集中

【取材記事】サーバー系企業ビヨンドが サーバーサイドエンジニアを募集中

【対談記事】「やっぱクラウド移設っていいですよね」マイネット × ビヨンド エンジニア対談

【対談記事】「やっぱクラウド移設っていいですよね」マイネット × ビヨンド エンジニア対談

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【15周年記念 特設サイト】ビヨンドは「2022.4.4」で15周年を迎えました!

【15周年記念 特設サイト】ビヨンドは「2022.4.4」で15周年を迎えました!

MySQLの起動、停止ができない場合の対処法

こんにちは。Webシステム課の後藤です。

以前ソケットエラーの記事を書いた際

ソケットファイルが存在しないのが原因の場合の解決策の1つに、
MySQLサーバーの再起動で復元されると書きました。

ただ、こんな場合があります。

  • MySQL manager or server PID file could not be found!
    が出てきて停止できない。
  • MySQL is not running, but lock exists
    が出てきて起動できない。

等ということがあるかもしれません。

今回はこのエラー達の原因と対処法をメモしていこうと思います。

1. 停止できない場合

MySQL manager or server PID file could not be found!
原因は PID ファイルが存在していないor見つけることができないからです。

※PIDファイルとはPIDを記述しておくファイルです。
Linux ではカーネルがプロセス識別子というものを用いてプロセスを管理しています。これがPID(Process ID)です。
mysqldのようにシステムが直接起動している様なプロセスですと、カーネルが忘れない様にpidファイルが生成されます。
/var/run/ 以下を見てみると色々なpidファイルがあります。

対処方法は、PIDファイルを作成することです。
my.cnfから作成する場所を確認します。

/etc/my.cnf

pid-file = /var/run/mysqld/mysqld.pid

/var/run/mysqld/mysqld.pid に設置する設定になっているので、そこにPIDファイルを作成します。

# touch /var/run/mysqld/mysql.pid
# chown mysql:mysql /var/run/mysqld/mysqld.pid

PIDファイルの中身はPIDが記述されていないといけません。

ps aux | grep mysqld

で mysqld(mysqld_safe ではありません)のPIDを確認しましょう。
fde69d1de836ef30f76004ce86430966-600x45
この場合は2846がmysqldのPIDなので、作成したmysqld.pidへ2846を記述します。

echo 2846 > /var/run/mysqld/mysql.pid

これで止められるはずです!

2. 起動できない場合

MySQL is not running, but lock exists

原因はlockファイルが残っているためです。

※lockファイルとは、プロセスの起動に成功した際に作成され、プロセスの停止が成功した際に削除されるという、
重複して同じプロセスを作成しない為のファイルです。

対処方法はlockファイルを削除することです。

# rm /var/lock/subsys/mysql

これで起動できるはずです!

※注意 : 以下の様な場合でも同じエラーが出るようです。

  • /etc/my.cnf で存在しないディレクトリにログを出力するように指定してある
  • 出力先のディレクトリのパーミッションがない

以上、MySQLの起動、停止ができない場合の対処法でした。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
8,731
facebook twitter はてなブックマーク

この記事をかいた人

About the author