连接docker里面的mysql失败解决方法

场景:在虚拟机的docker容器中安装latest版本的mysql之后,在宿主机中使用navicat连接虚拟机中的mysql出现下图报错:

2059 : Authentication plugin ‘caching_sha2_password' cannot be loaded:

解决办法:

1、首先docker ps命令查看正在运行的容器,确保我们想要连接的mysql已经启动,如果没启动使用docker start命令启动(下图查看结果表示已经启动了一个mysql)

2、接着运行docker exec -it b30062adc08c /bin/bash进入mysql容器

3、再接着输入mysql -u root -p命令,然后输入自己的密码,最后输入更新密码语句:

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

4、最后重启mysql再使用navicat连接即可成功

补充知识: 本地远程连接Docker中的MySQL报错的解决办法(1251)

错误如下:

原因:mysql 8.0 默认使用 caching_sha2_password 身份验证机制;客户端不支持新的加密方式

解决方案:修改用户(root)的加密方式

1.进入mysql容器内部,在docker中输入

docker exec -it mysql02 bash

2.登录mysql

mysql -u root -p

如图所示输入123456回车即可

3.设置用户配置项

(1)查看用户信息

select host,user,plugin,authentication_string from mysql.user;

(2)修改加密方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; //123456是mysql的登录密码

(3)再次查看用户信息

select host,user,plugin,authentication_string from mysql.user;

(4)再次使用Navicate等数据库软件连接,成功

(5)补充:如果要正常退出不关闭容器,可以通过按Ctrl+P+Q进行退出容器

从mysql中退出容器:Ctrl+D,按两次

以上这篇连接docker里面的mysql失败解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • docker 连接宿主Mysql操作

    今天公司项目要配置docker,顺利在windows上装完了之后,发现连接不上本地的mysql, 一直报权限问题或者地址错误的问题 最后发现 1:地址按照下面这个ipv4来 2:要在宿主Mysql将localhost权限打开,命令如下 mysql -u root -pvmwaremysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql>select host, user from user;

  • 解决Docker之mysql容器数据库更改不生效的问题

    用官方的mysql 镜像需要修改一些内容,比如配置文件的修改,DB数据文件的目录等,更改之后如果重新运行容器,改过的文件就无效了,新生成的容器不会有之前改变的内容 第一种是修改官方下载的镜像,修改之后 提交一个新的镜像文件 docker commit -m 等新生成的镜像信息, 第二种MYSQL的DB数据,容器关闭后 如果用 docker restart 重启同一容器,那么数据是正常的,如果重新docker run 容器那么数据就不会显示,因为每个容器都有一个文件地址 这就需要把数据文件挂载出来

  • Docker 部署Mysql 服务和Redis 服务的方法

    Docker 部署Mysql 服务的方法 1. 拉取Mysql 5.6最新版本镜像 sudo docker pull mysql:5.6 2. 查看Mysql 镜像 sudo docker images 3. 在home目录下创建需要映射的目录: mkdir -p /home/computer/project/mysql/{conf,log,data} 4. 运行容器 duso docker run -p 53603:3306 --name iot-mysql \ -v /home/comput

  • 连接docker里面的mysql失败解决方法

    场景:在虚拟机的docker容器中安装latest版本的mysql之后,在宿主机中使用navicat连接虚拟机中的mysql出现下图报错: 2059 : Authentication plugin 'caching_sha2_password' cannot be loaded: 解决办法: 1.首先docker ps命令查看正在运行的容器,确保我们想要连接的mysql已经启动,如果没启动使用docker start命令启动(下图查看结果表示已经启动了一个mysql) 2.接着运行docker

  • 远程连接Docker上的Mysql失败的分析与解决方案

    之前VMWare虚拟机CentOS7使用DHCP,导致只要重启操作系统,网卡IP地址就改变.于是把网卡修改为手工设定IP地址,结果导致远程连接mysql出现如下错误,花了很多时间还没有解决,最终偶然想到Docker被外部请求访问可能有中转行为才得到解决. ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.101.26' (10060) 附上网卡配置文件修改指令: cd /etc/sysconfig/system-scrip

  • nacos无法连接mysql的解决方法

    原因 nacos的pom依赖的mysql版本与mysql版本不一致导致 步骤1: 修改pom文件中mysql为对应版本依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.19</version> </dependency> 步骤2: building项目解决编译报错

  • Docker中部署mysql服务的方法及遇到的坑

    最近一直在学习搬运工,感觉这么厉害的东西怎么以前不知道呢,把自己捣鼓的过程整理记录下来,供同学们参考 第零步:从Docker Hub拉取官方mysql镜像 docker pull mysql 然后就是进入漫长的等待,当然如果你配置了镜像加速器,速度会快那么一丢丢 第一步:使用docker images命令查看镜像 你会看到我们这里已经有了MySQL的的镜像 第二步:启动我们的mysql的镜像,创建一个MySQL的容器 使用命令:docker run -d --name mysql -p 3307

  • Android bindservice失败解决方法

    Android bindservice失败解决方法 现象: this.bindService(bindIntent, conn, Context.BIND_AUTO_CREATE); 相同的代码以前使用一直很正常,但最近在项目中使用却一直绑定失败,bindservice返回false. 原因: 使用了TabActivity, TabActivity里的子Activity调用this.bindservice,导致失败.该问题属于Google Android的缺陷,由于TabActivity已经被弃

  • node-sass安装失败解决方法总结(终有一款适合你)

    目录 前言 解决方法一:使用淘宝镜像源(推荐) 解决方法二:使用 cnpm 解决方法三:创建.npmrc文件 解决方法四:下载 .node 到本地 如果这个 .node 还不能解决用这个方法.直接搞定. 解决方法五:使用梯子 来源 解决办法三,重新配置node-sass 缓存! 解决办法 操作步骤 总结 前言 项目中常常遇到node-sass安装失败,动不动就是报各种错误.以前我一次也没有失败过,自从系统重装我的天呀,node-sass就没有成功过,我能做的node卸载,sass重装各种版,以及

  • Android 中 GridView嵌套在ScrollView里只有一行的解决方法

    在做android项目中遇到一个bug,GridView嵌套在ScrollView里只有一行的问题.下面小编在网上找到了解决方法,具体方法如下所示: 方法一:就是上面说的通过计算出来ListView或者GridView中的子列高度和 进行显示: public void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAdapter = listView.getAdapter(); if (listAdap

  • docker下修改mysql配置文件的方法

    由于需要修改mysql的sql_mode,在命令行修改每次重启都会失效,因为修改docker下mysql的配置文件. 操作系统:centos7 docker版本:Docker version 17.05.0-ce, build 89658be mysql版本:5.7.18 1.拉取镜像 docker pull mysql:5.7.18 2.列出镜像 [root@zk01 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql 5.

  • 6ull加载linux驱动模块失败解决方法

    目录 0x01 加载驱动模块失败 0x02 解决方法 总结 0x01 加载驱动模块失败 加载驱动失败描述信息如下,错误信息提示板卡中运行的 linux 内核版本是 4.1.15-g49efdaa ,架构是 ARMv7 :而编译驱动使用的内核源码版本为 4.1.15 ,架构是 ARMv6 .说明编译驱动使用的内核版本名和架构与板卡中运行的均不一致. root@ALIENTEK-IMX6U:~/get# insmod led.ko [ 1634.442887] led: version magic

  • Python3.10.4激活venv环境失败解决方法

    环境 python -m venv venv venv\Scripts\activate 激活环境失败 解决方案 输入get-executionpolicy PS D:\flaskBlog> get-executionpolicy Restricted PS D:\flaskBlog> set-executionpolicy remotesigned PS D:\flaskBlog> get-executionpolicy (最后检查是否更改成功) 重启VSCode,执行venv\Scr

随机推荐