【簡単解決】Linux/UbuntuでMySQLのポート番号を確認する方法とは?
MySQL がどのポートで実行されているかを確認し、接続できるかどうかをテストする方法
このチュートリアルでは、Linux および Ubuntu システムで MySQL がどのポートで実行されているかを調べ、そのポートに接続できるかどうかを確認する方法を説明します。
前提条件
- Linux または Ubuntu システムがインストールされている
- MySQL サーバーがインストールおよび実行されている
mysql
コマンドラインクライアントへのアクセス権
方法
使用中のポートを確認する
以下のコマンドを使用して、MySQL が使用しているポートを確認できます。
netstat -tnlp | grep mysql
このコマンドは、ネットワーク接続に関する情報を表示し、grep
コマンドを使用して MySQL プロセスに関連する行だけを抽出します。出力結果には、MySQL プロセスが使用しているポート番号が表示されます。
デフォルトのポート番号は 3306 ですが、インストール時に変更されている可能性があります。
接続テストを行う
特定のポートで MySQL サーバーが実行されていることを確認したら、そのポートに接続できるかどうかをテストできます。
以下のコマンドを使用して、ポート番号を指定して MySQL サーバーに接続します。
mysql -u username -p -h localhost -P 3306
-u username
:MySQL ユーザー名を置き換えます。-p
:パスワード入力を求めます。-h localhost
:接続先のホスト名を指定します。デフォルトはlocalhost
です。-P 3306
:接続先のポート番号を指定します。
パスワードを入力すると、成功すれば MySQL コマンドプロンプトが表示されます。
エラーメッセージのトラブルシューティング
接続テストでエラーが発生した場合は、以下の点を確認してください。
- ユーザー名とパスワードが正しいことを確認してください。
- MySQL サーバーが実行されていることを確認してください。
- ファイアウォールが MySQL サーバーへの接続をブロックしていないことを確認してください。
- 正しいポート番号を使用していることを確認してください。
補足
nmap
コマンドを使用して、特定のポートが開いているかどうかを確認することもできます。
nmap localhost 3306
telnet
コマンドを使用して、特定のポートに手動で接続することもできます。
telnet localhost 3306
netstat -tnlp | grep mysql
接続テストを行う
mysql -u username -p -h localhost -P 3306
説明
使用中のポートを確認する
Active Internet connections (only showing established, i.e. not in a SYN-ACK state)
tcp6 0 0 :::3306 :::* LISTEN 127.0.0.1:3306 :::*
この例では、MySQL サーバーは 3306
ポートで実行されています。
Enter password:
Welcome to the MySQL monitor.
Commands terminated with ; will execute.
Type 'help' or '\?' for assistance.
MySQL>
- 上記のコードは、デフォルトのユーザー名とパスワード、およびデフォルトのホスト名を使用して接続しています。必要に応じてこれらの値を変更してください。
-P
オプションは、ポート番号を指定するために使用されます。-p
オプションは、パスワード入力を求めるようにします。
MySQL がどのポートで実行されているかを確認し、接続できるかどうかをテストする方法(その他の方法)
mysqladmin
コマンドを使用して、MySQL サーバーのステータス情報を取得できます。この情報には、使用されているポート番号が含まれます。
mysqladmin status
出力結果には、Port:
という行が表示され、その後に使用されているポート番号が表示されます。
...
Port: 3306
...
/etc/mysql/my.cnf
ファイルには、MySQL サーバーの構成オプションが記載されています。このファイルには、port
オプションを使用してポート番号を指定することもできます。
port=3306
このファイルが存在しない場合は、デフォルトのポート 3306
が使用されます。
show variables ステートメントを使用する
MySQL コマンドプロンプト内で show variables
ステートメントを使用して、ポート番号を含む MySQL サーバーの変数を確認できます。
mysql -u username -p
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'port';
+-----------------+---------+
| Variable_name | Value |
+-----------------+---------+
| port | 3306 |
+-----------------+---------+
上記の方法に加えて、ポートスキャナーを使用して、開いているポートをスキャンすることもできます。ただし、この方法は、ファイアウォールによってブロックされているポートを検出できない可能性があることに注意してください。
mysql linux ubuntu