我遇到了user @ localhost被拒绝的典型访问问题。 我可以在Docker外部进行连接,但是如果尝试在Docker容器内使用,则会导致访问被拒绝的异常。
这是我的sql输出
select host,user from mysql.user;
+-----------+---------------+
| host | user |
+-----------+---------------+
| % | assist_user |
| % | root |
| %% | assist_user |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
| localhost | user |
+-----------+---------------+
这是我运行的查询
GRANT USAGE ON *.* TO 'user'@'%' IDENTIFIED BY PASSWORD '*aaaaaaaaa'
GRANT USAGE ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*aaaaa'
可能是什么问题?
docker-compose.yml
version: '3.3'
services:
db:
image: mysql:5.7.26
container_name: mysql57
restart: always
environment:
# So you don't have to use root, but you can if you like
MYSQL_USER: 'user'
# You can use whatever password you like
MYSQL_PASSWORD: 'password'
# Password for root access
MYSQL_ROOT_PASSWORD: 'admin'
ports:
# <Port exposed> : < MySQL Port running inside container>
- '3306:3306'
expose:
# Opens port 3306 on the container
- '3306'
# Where our data will be persisted
volumes:
- /home/my/mysql57:/var/lib/mysql
# Source code
- /home/my/:/home/dockerdev
myapp:
depends_on:
- db
environment:
- WAIT_HOSTS=mysql57:3306