navicat连接docker中mysql容器

本文详细介绍了如何使用Docker部署MySQL容器,并通过Navicat工具连接至数据库。针对连接过程中出现的‘caching_sha2_password’错误,提供了具体的解决步骤,包括修改加密规则和更新用户密码。

docker创建mysql容器,并使用navicat连接至数据库,错误并解决:Authentication plugin ‘caching_sha2_password’ cannot be loaded

1、拉取mysql镜像

docker pull mysql

2、创建mysql容器

docker run -d --name mysqltest -p 3312:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

-d, --detach=false, 指定容器运行于前台还是后台,默认为false
–name="", 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字
-p, --publish=[], 指定容器暴露的端口
-e, --env=[], 指定环境变量,容器中可以使用该环境变量

3、进入mysql容器

docker exec -it mysqltest bash

4、进入mysql

mysql -uroot -p

输入密码

5、navicat尝试连接mysql
在这里插入图片描述

  • 主机填服务器的ip地址
  • 端口填创建容器时-p后的第一个端口
  • 密码填-e后写的密码

如果能够连接成功,则到这一步就行了

-------------------------分割线-------------------------

6、报错

Authentication plugin ‘caching_sha2_password’ cannot be loaded

原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

7、解决

修改加密规则

ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;

更新一下用户的密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

刷新权限

flush privileges;

8、连接成功
在这里插入图片描述
9、端口请求不同
阿里云服务器的端口有可能没有开放,需在控制台实例管理中修改安全组策略,开放出容器使用的端扣

### 配置IDEA通过Navicat连接Docker容器内的MySQL数据库 #### 创建并启动MySQL Docker容器 为了确保能够顺利连接MySQL实例,首先需要创建并启动一个带有适当配置的MySQL容器。这一步骤可以通过`docker run`命令完成,并指定环境变量来设置根用户的密码。 ```bash docker run --name some-mysql -e MYSQL_ROOT_PASSWORD="your_password_here" -d mysql:tag ``` 这里的`some-mysql`是给定容器的名字;`MYSQL_ROOT_PASSWORD`用于定义root账户的访问凭证;而`mysql:tag`则指定了要使用的镜像版本标签[^3]。 #### 修改MySQL用户权限以便远程访问 默认情况下,新安装的MySQL服务器可能不允许来自任何主机以外的地方建立连接。因此,在成功部署之后,应当调整相关表项允许更广泛的客户端接入: 执行下面SQL语句可以实现这一点: ```sql UPDATE user SET host = '%' WHERE User = 'root'; FLUSH PRIVILEGES; ``` 上述操作将使root账号可以从任意IP地址发起请求[^2]。 #### 使用Navicat进行连接测试 当一切准备就绪后,打开Navicat软件,新建一个MySQL连接对象。输入目标机器上的服务端口(通常是3306),以及之前设定好的认证信息——用户名为`root`,密码则是早先赋予的那个字符串值。如果是在本地环境中实验,则可以直接采用localhost作为主机名。 对于那些位于不同网络位置或是云平台之上的资源来说,还需要确认防火墙策略不会阻挡必要的通信流量,并且相应的安全组规则已经开放了必需的数据传输通道[^1]。 #### IDEA集成开发环境下的应用实践 虽然题目主要关注的是利用Navicat工具来进行管理活动,但在实际工作中经常也会涉及到从Java应用程序内部去调用这些持久化层的服务接口。此时借助于IntelliJ IDEA这样的强大IDE可以帮助开发者更加高效地构建基于Spring Boot框架的企业级解决方案。记得按照官方文档指导正确配置数据源属性文件,从而使得程序能够在运行期自动发现并绑定至所需的外部依赖之上。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值