连接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失败解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
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,顺利在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失败解决方法
场景:在虚拟机的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
随机推荐
- C# XML与Json之间相互转换实例详解
- 好人卡是什么意思
- Vue.js实战之通过监听滚动事件实现动态锚点
- 详解基于webpack和vue.js搭建开发环境
- 局域网故障维护及优化技巧
- javascript中万恶的function实例分析
- JS 去除Array中的null值示例代码
- C语言选择排序算法及实例代码
- SWT(JFace) Menu、Bar...体验代码
- C#利用WMI操作DNS服务器(可远程操作,需要相应权限)
- AJAX显示加载中并弹出图层遮挡页面的实现示例
- 当数据库变慢时的解决方法
- 解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
- JS对象是否拥有某属性如何判断
- js获取或设置当前窗口url参数的小例子
- js select 标签选定项的值获取代码
- flash中,文本的导入方法
- Java编程中使用XFire框架调用WebService程序接口
- 使用Python读写文本文件及编写简单的文本编辑器
- win7下安装 JDK 基本流程