githubからcloneしたmavenプロジェクトを、SpringBoot実行してjdbcを使ってdocker内で作ったmysqlに接続を試みていますがうまくいかずに困っています。DockerでMySQLを動かしてEclipseでTomcatを動かす形にしようと思っています。
application.ymlには
url: jdbc:mysql://127.0.0.1/db_name
username: user_name
password: password
として設定しています。
mysqlにはuser_name@127.0.0.1だったり、user_name@'%'を作ってglobal権限も与えてアクセスを試みているのですが何度やっても下記のエラーが吐かれてします。
access denied for user 'user_name'@'localhost'
user_name@127.0.0.1にアクセスしたいと思っているのですがuser_name@localhostでアクセスしようとしてしまいます。
Docker内からmysql -u user_name -h 127.0.0.1 -pではログインに成功します。
解決策やアドバイスなどがあればご教授お願いいたします!
dbとtableは作成済みです。
開発環境は
MySQL5.7
Mac catalina
追記
~ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 07ee0f26247b mysql:5.7 "docker-entrypoint.s…" 9 hours ago Up 9 hours 0.0.0.0:3306->3306/tcp, 33060/tcp container_name local内のMySQL mysql> select user, host from user; +---------------+-----------+ | user | host | +---------------+-----------+ | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +---------------+-----------+ docker内のMySQL +---------------+-----------+ | user | host | +---------------+-----------+ | root | % | | user_name | 127.0.0.1 | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +---------------+-----------+ SHOW GRANTS FOR user_name@127.0.0.1; +------------------------------------------------------------------------------+ | Grants for user_name@127.0.0.1 | +------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'127.0.0.1' WITH GRANT OPTION | +------------------------------------------------------------------------------+ user_name@'%'にして同じように権限を与えても接続できませんでした。
07ee0f26247bのENVです "Env": [ "MYSQL_ROOT_PASSWORD=password", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "GOSU_VERSION=1.12", "MYSQL_MAJOR=5.7", "MYSQL_VERSION=5.7.30-1debian10" ~ docker-machine env default export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.99.100:2376" export DOCKER_CERT_PATH="/Users/cacao86/.docker/machine/machines/default" export DOCKER_MACHINE_NAME="default" # Run this command to configure your shell: # eval $(docker-machine env default)
回答2件
あなたの回答
tips
プレビュー