MySQL8にリモート接続する方法

こんにちはHITS代表の原田です。

先程公開した『.NetCore2.2(ASP)の実行環境をDocker(CentOS7 + MySql + Apache)で作成してみた。』でMySQLへリモート接続するために必要な設定があったので追記しておきます。

リモート接続用のユーザーの作成

$ mysql -p
Enter password:rootのパスワードを入力

# ユーザーの確認
mysql> select user,host from mysql.user;
+------------------+-------------+
| user             | host        |
+------------------+-------------+
| mysql.infoschema | localhost   |
| mysql.session    | localhost   |
| mysql.sys        | localhost   |
| root             | localhost   |
+------------------+-------------+
# hostがすべてlocalhostのユーザーしかいないのでlocalhostからしかアクセスできない。

# リモート接続ユーザー(root)の追加
# %はワイルドカードです。192.168.%とすると192.168のIPからのみ接続を受付ける設定になります。
mysql> create user 'root'@'%' identified  by 'パスワード';
# 権限の設定
# *.*はDB.Tableなので*.*は全DBの全テーブルに全権限(all)があるという意味です。
mysql> grant all on *.* to 'root'@'%' with grant option;
# 権限の反映
mysql> flush privileges;

docker-compose.ymlの設定変更

ポートとDBデータの永続化を追加しました。

  dotnet:
    container_name: dotnet
    build:
      context: ./dotnet
      dockerfile: Dockerfile
    restart: always
    privileged: true
    ports:
      - 8082:80
      - 3306:3306                               # これを追加
    volumes:
      - dotnet_httpd:/etc/httpd/conf.modules.d
      - dotnet_web:/var/www/dotnet
      - dotnet_services:/dotnet/services
      - dotnet_mysql:/var/lib/mysql             # これを追加

dotnet_mysqlに対応する設定の追記と、実際のフォルダの作成とfirewallでポートを開けるのを行った後に、docker-composeで再起動すればリモート接続の準備は完了です。

何かコメントがあればお気軽にどうぞ。
あなたの猫の手になりたいハラダITSupport代表の原田でした。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です