我试图连接到mysql数据库从docker图像。然而,这是投掷错误。
下面是我正在使用的docker图像。https://hub.docker.com/_/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并ping该IP,则显示IP不可访问。
docker inspect 9f35d2e39476 | grep -i ipaddress
如果我尝试使用localhost
和127.0进行连接。0.1
我遇到以下错误。
无法加载身份验证插件“缓存\u sha2\u密码”。
我也有同样的问题,但对于运行mysql 8的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-comment启动:
services:
db:
image: mysql
command: mysqld --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
也就是说,在启动MySQL时从新的MySQL密码/授权机制恢复。
首先,请注意,您使用的是非稳定软件,因此在发布和意外行为之间可能会发生重大变化。
编辑:不再开发,稳定版于2018年4月19日发布
其次,你不能直接ping你的容器,它在另一个网络中,但你可以很容易地使用另一个容器ping他。
MySQL 8使用caching_sha2_password
作为默认身份验证插件,而不是mysql_native_password
。更多信息在这里。
许多mysql驱动程序还没有添加对caching_sha2_password
的支持。
如果您遇到问题,可以使用以下内容更改为旧的身份验证插件:
docker run-p3306:3306——名称mysql\u 80-e mysql\u ROOT\u PASSWORD=PASSWORD-d mysql:8 mysqld——默认身份验证插件=mysql\u native\u PASSWORD
null 我确信我已经在127.0.0.1:27017启动了数据库服务,并且可以用shell和非异步方法连接。错误: PrimaryServerSelector没有从群集描述中选择服务器ClusterDescription{type=unknown,connectionmode=single,all=[ServerDescription{address=localhost:27017,type=u
我正在尝试使用rds部署带有MySQL引擎的rds实例。数据库子网组位于公用子网中。 我已执行以下检查:-允许安全组在端口3306上进行公共访问-在端口3306上的endpointURL上成功执行Telnet命令 配置如下: 日志记录详细信息: 正在尝试使用console连接到rds
我试图连接到一个名为的数据库。所有凭据都位于PHP文件名中,格式为 我正试图用这个连接到数据库 我得到这个错误: 注意:第6行的未定义变量:DB_HOST in/home/content/06/8274306/html/beta/mysuperscript.php 注意:未定义变量:第6行 /home/content/06/8274306/html/beta/mysuperscript.phpDB
试图连接一个简单的JMX监控。托管应用程序和监控工具位于同一台服务器上。当试图连接一个错误 00:30:55610致命http-8080-6 SiteListener:makeJmxConnection:99-java.io。IOException:检索RMIServer存根失败:javax.naming。ServiceUnavailableException[根异常为java.rmi.Conne
我有一个 Spring 引导项目,其中我使用 spring-boot-starter-actuator 和 io.dropwizard.metrics。 它生成我可以使用 url http://myapplication/metrics 访问的指标。我将应用程序部署在 Wildfly 10 独立服务器上。 我想使用jmx读取jconsole上的指标。我将应用程序配置为使用JMXReporter发送
我见过几个问题[1][2][3]有点类似于这一点,但没有一个答案产生任何成功。 所以,以下是我看到的问题: 1)pom表明它无法连接到本地。m2存储库。 6)用Java1.7而不是1.8启动Intellij 7)卸载和重新安装Maven、Java和Intellij 非常感谢任何帮助。