我试图从docker镜像连接到mysql数据库.然而,它正在抛出错误.
以下是我用来运行docker镜像的命令.
docker run -p 3306:3306 --name mysql_80 -e MYSQL_ROOT_PASSWORD=password -d mysql:8
以下是docker ps命令的输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9f35d2e39476 mysql:8 "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 0.0.0.0:3306->3306/tcp
如果我使用docker检查IP并检查该IP,则表明IP无法访问.
docker inspect 9f35d2e39476 | grep -i ipaddress
如果我尝试使用localhost和127.0.0.1进行连接,我会收到以下错误.
Unable to load authentication plugin ‘caching_sha2_password’.
解决方法:
我遇到了同样的问题,但是对于我来说,运行mysql 8.X的Docker容器并没有这样做.
我把它塞进了容器里
docker exec -it CONTAINER_ID bash
然后以root身份登录mysql
mysql --user=root --password
输入root的密码(默认为’root’)
最后运行:
ALTER USER 'username' IDENTIFIED WITH mysql_native_password BY 'password';
你们都准备好了.
这已在这里得到解答:post
标签:docker,mysql
来源: https://codeday.me/bug/20191003/1851272.html