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代表の原田でした。