【SQL】XAMPPのMySQLがXAMPPがポートの競合で起動できない問題について解決方法を解説します!

本記事は、Proglus(プログラス)「はじめてのSQL ・データ分析入門」、Udemy 「はじめてのSQL・データ分析入門」のサポート記事です。

XAMPP環境下でmysqlを起動した際、以下のエラー文が表示された時のトラブルシューティングです。

[mysql] Status change detected:stopped
[mysql] Error: MySQL shutdown unexpectedly.
[mysql] This may be due to blocked port, missing dependensies,
[mysql] improper priviledges, a crash, or a shutdown another method.
[mysql] Press the Logs button to view error logs and check
[mysql] the Window Event Viewer for more clues
[mysql] If you need more help, copy and post this
[mysql] entire log window on the forums

原因

MySQLで指定してるポートが既に使われてることが原因として考えられます。

解決方法

お手元の環境でXAMPPのMySQLが使用する3306ポートを使っているプロセスが無いか調べます。
(1)コマンドプロンプトを開く
スタートメニューから「cmd」と入力してコマンドプロンプトを開きます。

(2)netstatコマンドを使用してポート3306を調査
コマンドプロンプトで次のコマンドを入力して、ポート3306を使用しているプロセスを調べます。

$ netstat -ano | findstr :3306

ここでポート3306を使用しているプロセスの情報が表示されます。この情報から、該当するプロセスのPID(プロセスID)を特定します。PIDは一意の識別子です。

(3)不要なプロセスを終了させる
表示プロセスの情報の中から、思い当たるアプリケーションを停止、または、アンインストールをしましょう。

思い当たるアプリケーションがない場合は、応急処置として、特定したPIDを使用して不要なプロセスを強制終了させます。

$ taskkill /f /pid [PID]

(4)XAMPPでMySQLを再起動
不要なプロセスを終了させた後、XAMPPでMySQLを再起動します。XAMPPのコントロールパネルを使用してMySQLを再起動できます。

これでエラーが解決され、mysqlを起動することができます。

動画でプログラミング入門をしよう

オンライン学習サービスProglus(プログラス)でプログラミングを学び、創れる人になろう!

プレミアムプランを2週間無料体験しよう

今すぐ詳細を確認する

プログラミング入門ナビ編集部