docker 安装mysql8.0

本文解决Docker环境下MySQL8外部连接异常问题,介绍如何将密码认证方式从caching_sha2_password改为mysql_native_password,适用于CentOS7与Docker版本1.13.1,提供详细步骤及验证方法。

前提:

  异常:

    docker 安装 mysql 8  外部连接会报一下异常: Authentication plugin 'caching_sha2_password' cannot be loaded

  原因

    出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.

安装环境:

  centos7

  Docker version 1.13.1

安装步骤:

  1.拉取镜像,不带版本号,默认拉取最高版本: docker pull mysql 

  2.查看镜像:docker images

  

  3.启动镜像 做端口映射 3306到外网,不然连接不上:docker run -p 3306:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

  4.查看运行中的容器,看是否启动成功:

  

 

   5.外部连接报错:

  

解决方法

  1.进入docker容器 :docker exec -it c4bf367b7155  bash

  

  2.登陆数据库 : mysql -uroot -p{密码}。  借鉴  :https://blog.csdn.net/u014527619/article/details/80509671 不成功 。

  

  以这种方式登陆(成功) : 

    1. mysql -uroot -p   。回车

    2.输入密码

  

 

    

    3.修改数据库
      mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

    4.重新修改密码后可连接成功
      mysql> alter user 'root'@'%' identified by '123456';

    5.刷新数据库
      mysql> flush privileges;
    6.重新外网登陆ok

 

文章借鉴:https://blog.csdn.net/u014527619/article/details/80509671

 

转载于:https://www.cnblogs.com/jonrain0625/p/11306412.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值