LoginSignup
0
0

XAMPPのMySQLポート競合を解決する方法(Windows & Mac)

Last updated at Posted at 2024-04-24

XAMPPを使用している際にMySQLが起動しない問題は、ポート競合が原因であることが多いです。MySQLがデフォルトで使用するポート3306が他のプロセスによって既に使用されている場合があります。この記事では、WindowsおよびMac (M1) 環境でのポート競合の診断と解決方法をステップバイステップで解説します。

1. 問題の確認

XAMPPコントロールパネルを開いた際に表示されるログから、MySQLがポート3306で起動できないことが示されています。これは、他のプロセスがポートを使用しているためです。

2. 競合するポートの診断

コマンドプロンプト/ターミナルの使用

Windows

  1. 管理者権限でコマンドプロンプトを開きます。

  2. 次のコマンドを使用して、どのプロセスがポート3306を使用しているかを確認します:

    netstat -aon | findstr 3306
    

Mac (M1)

  1. ターミナルを開きます。

  2. 次のコマンドを使用して、どのプロセスがポート3306を使用しているかを確認します:

    sudo lsof -i :3306
    

プロセスの特定と終了

Windows

プロセスIDを使用して競合しているプロセスを特定し、終了させます:
おそらく管理者としてコマンドプロンプトを開かないといけません。

tasklist /fi "PID eq [PID]"
taskkill /PID [PID] /F

ここで、[PID]netstatから得られたプロセスIDに置き換えます。

Mac (M1)

プロセスIDを使用して競合しているプロセスを特定し、終了させます:

sudo kill -9 [PID]

ここで、[PID]lsofから得られたプロセスIDに置き換えます。

3. 0.0.0.0:3306 の意味

0.0.0.0:3306 という設定は、MySQLサーバーがコンピュータのすべてのIPv4アドレスに対してポート3306で接続を待ち受けている状態を意味します。これにより、ローカルネットワーク内の任意のデバイスや、適切なネットワーク設定を通じて外部のデバイスからもアクセスが可能になります。

4. 競合の解決

競合しているプロセスが重要でない場合は、そのプロセスを終了させることができます。それが可能でない場合は、MySQLのポート番号を変更する必要があります。

MySQLのポート変更方法

  1. XAMPPのMySQL設定ファイル (my.iniまたはmy.cnf) を開きます。
  2. ポート番号を3306から別の番号(例えば3307)に変更します。
  3. XAMプコントロールパネ

ルを再起動して、変更を適用します。

5. セキュリティ考慮事項

外部からのアクセスを安全に管理するためには、適切なファイアウォールの設定が必要です。0.0.0.0[::]のアドレスでリスニングする場合、特定のIPアドレスからのみアクセスを許可するようにファイアウォールを設定することをお勧めします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0