【MySQL】外部ホストからの接続方法

MySQLデータベースへ、外部ホストのサーバーから接続する方法をメモします。

WebサーバとDBサーバーをそれぞれ別々のサーバー環境に構築する際に必要な設定となります。

環境: MySQL Ver 8.0.19 for Linux, CentOS7

MySQLの設定を行う

(MySQLが存在するサーバーへログイン)
MySQLへログインする
mysql -u root -p

外部ホスト用のDBユーザーを作成

1. 外部ホストからDB接続するための※MySQLユーザを作成する
※サーバのユーザとは異なる

CREATE USER ユーザ名@’外部ホスト名‘ IDENTIFIED BY ‘接続時のパスワード

接続元となるホスト名(IPアドレス)とパスワードを指定して、外部から接続するDBユーザーを作成します。

2. 作成したユーザにDBの接続許可を与える

GRANT ALL PRIVILEGES ON データベース名.テーブル TO ユーザ@’外部ホスト名

3. MySQLを再起動して設定を反映する

注意:firewallを有効にしている場合

ファイヤーウォール(firewall)を有効にしている場合、外部から接続出来るようにするために
MySQLの接続ポート番号(デフォルトは3306)を許可しておく必要があります。

(MySQLをログアウトして)
接続許可ポートの確認

ポート(3306)の追加

外部ホストから接続を行う

外部サーバーからシェル(CUI)を使って接続します。
※MySQLコマンドを使用する為、接続元となるこちらの環境にもMySQLがインストールされている必要があります。

サーバーへログインし、以下のコマンドを実行。

mysql -u 作成したDBユーザ名 -h MySQLホスト名 -p -D 接続許可が与えられたDB名

パスワードを入力して接続します。

Follow me!