バナー画像

データベースにはそれぞれ「Port(ポート)」と呼ばれる扉のようなものがあります。

ネットでも「ポートを開放する」や「ポート番号」などといったワードを聞いたことがある方も多いと思います。

今回はMySQLのポートについて解説してみたいと思いますので、実はよくわかっていないという方もこの記事を見てしっかりと理解しましょう。

Port(ポート)とは

先ほども簡単に解説しましたが、ポートとはPCとネットワーク環境を繋ぐ扉と思って問題ありません。

ネットワーク環境を有しているものはたくさんあり、ネットワーク機器もこれらに属します。

もちろんサーバーやインターネットも然りです。

これらを使用する際にポートが開かれていないと、いくらネット通信が可能であっても目的地まで通信が届くことはありません。

また、このポートにはデフォルトで数値が割り振られており固定化しています。

例えばインターネットには「80」というポートが、FTPには「20」と「21」のポートが使用されています。

もちろん変更はできますが、あくまでも初期段階ではある程度決まったポート番号が割り振られていることを覚えておいてください。

MySQLとポート番号

ネット通信にはすべてポート番号が割り振られていると説明しましたが、MySQLにもデフォルトで割り振られているポートがあります。

通常MySQLには「3306」ポートが使用されています。

まずはこの番号が本当に使われているかを確認する方法について説明します。

このポートを調べるためにはコマンドラインを使います。

コマンドラインとはプロンプトのような俗にいう「黒画面」を指します。

コマンドラインで以下のコマンドを実行してみましょう。

MariaDB [(none)]> states

このコマンドを打ち込むことで以下のようなステータスが表示されるはずです。

--------------
mysql  Ver 15.1 Distrib 10.4.10-MariaDB, for Win64 (AMD64), source revision c24ec3cece6d8bf70dac7519b6fd397c464f7a82

Connection id:          8
Current database:
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server:                 MariaDB
Server version:         10.4.10-MariaDB mariadb.org binary distribution
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    cp932
Conn.  characterset:    cp932
TCP port:               3306
Uptime:                 47 sec

Threads: 7  Questions: 5  Slow queries: 0  Opens: 16  Flush tables: 1  Open tables: 10  Queries per second avg: 0.106
--------------

この中に表示されている”TCP port”を見ると「3306」番のポートが使用されていることが確認できます。

ポート番号を変更する

次はMySQLを利用する際にポート番号を変更して利用する方法について解説します。

開発環境によっては若干の差異はありますが、概ねどの環境でも一緒だと思いますので、今回はMariaDBを使って説明をしていきます。

まずポートを変更するにはデータベースファイルの「My.ini」の内容を変更します。

恐らく通常であればCドライブ直下にMySQLフォルダがあると思います。

そのフォルダの中に「My.ini」というファイルがあるはずですので、そのファイルを開きます。

すると非常に長いテキストが開かれると思います。

そのテキストの中から以下のような部分を探して下さい(データベースのバージョンなどにより若干異なる場合があります)。

# The following options will be passed to all MySQL clients
[client]
# password = your_password
port=3306
socket=”C:/mysql/mysql.sock”

# Here follows entries for some specific programs

# The MySQL server
default-character-set=utf8
[mysqld]
port=3306
socket=”C:/mysql/mysql.sock”
basedir=”C:/mysql”
tmpdir=”C:/tmp”
datadir=”C:/mysql/data”
pid_file=”mysql.pid”
# enable-named-pipe
key_buffer=16M
max_allowed_packet=1M
sort_buffer_size=512K
net_buffer_length=8K
read_buffer_size=256K
read_rnd_buffer_size=512K
myisam_sort_buffer_size=8M
log_error=”mysql_error.log”

# Change here for bind listening
# bind-address=”127.0.0.1″
# bind-address = ::1 # for ipv6

# Where do all the plugins live
plugin_dir=”C:/mysql/lib/plugin/”

まずこの中の”port”と書かれている部分(2か所)を使用したいポートに変更してください。

ただし、予め使用されているポートと競合しないようにして下さい。

競合してしまうとネット通信が開始されずエラーが返ってきますので注意しましょう。

変更し終わったら、保存してファイルを閉じます。

次にコマンドラインで以下のコマンドを実行してください。

mysql -u root -h 127.0.0.1 -P 先ほど設定したポート番号

なお、学習のためにLocalhost接続をしている方はIPアドレスを入力しないとエラーになる場合がありますので、ここではIPアドレスで表示しています。

また、ポート番号は基本的には自動で判断されますが、明示的に指定しないとエラーが返ってくる場合がありますので、学習のためにも自分で指定するようにしてください。

データベースに接続できたら以下のコマンドでステータスを確認してみてください。

MariaDB [(none)]> status
--------------
mysql  Ver 15.1 Distrib 10.4.10-MariaDB, for Win64 (AMD64), source revision c24ec3cece6d8bf70dac7519b6fd397c464f7a82

Connection id:          8
Current database:
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server:                 MariaDB
Server version:         10.4.10-MariaDB mariadb.org binary distribution
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    cp932
Conn.  characterset:    cp932
TCP port:               3308
Uptime:                 13 min 13 sec

Threads: 7  Questions: 4  Slow queries: 0  Opens: 16  Flush tables: 1  Open tables: 10  Queries per second avg: 0.005
--------------

“TCP port”が指定したポートに変更されていることが確認できました。

まとめ

いかがでしたか?

今回はポートの説明と確認、そして変更方法について解説してみました。

通常は余り変更することはないと思いますが、万が一ポートが使用されている場合などはエラーに時間を取られてしまいます。

変更方法を覚えておけばそのようなエラーにも簡単に対処することができますので、この記事を読んでポートの変更方法を覚えてみてください。

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。