Dockerコンテナを作成/起動し、MySQLへ接続する際に以下のようなエラーが発生しアクセス拒否されてしまいます。
ERROR 1045 (28000): Access denied for user 'app'@'172.19.0.1' (using password: YES)
Dockerコンテナで環境変数、MYSQL_USER=app
を設定し、docker container run
でコンテナを作成/起動しました。
解決手順
一旦ルートユーザでmysqlへログインする
mysql -h127.0.0.1 -P3306 -uroot -ppass1234 sample
一般ユーザを作成する
mysql> create user 'app'@'172.19.0.1' identified by 'pass1234'
Query OK, 0 rows affected (0.17 sec)
appユーザが作成されたことを確認します
mysql> select user from mysql.user;
+------------------+
| user |
+------------------+
| root |
| app |
| mysql.infoschema |
| mysql.session |
| mysql.sys |
| root |
+------------------+
6 rows in set (0.01 sec)
改めて一般ユーザでログインしてみます
mysql -h127.0.0.1 -P3306 -uapp -ppass1234;
これで接続できれば解決です。