mysql远程连接报2003和2059错误(Docker篇)

这篇博客主要介绍了在使用Docker部署MySQL后遇到的两个远程连接错误——2003和2059的解决方法。对于2003错误,解决方案包括修改配置文件的bind-address,授权,刷新权限,更改加密规则及更新root用户密码。而对于2059错误,原因是MySQL8及以上版本的加密规则变化,解决步骤涉及更改加密方式,更新用户密码并刷新权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言:

一、mysql远程连接报2003

        一、查看报错原因:

        二、解决报错:

                   1、先进入到docker的mysql容器中,输入密码

                   2、授权

                   3、刷新权限

                   4、更改加密规则

                   5、更新root用户密码

                   6、刷新权限

二、mysql远程连接报2059 

        一、分析原因:

         二、解决步骤:   

                   一、进入到mysql容器中

                   二、更改加密方式 

                   三、更新用户密码

                   四、刷新权限


前言:

关于使用Docker之后,用mysql进行远程连接,报了两个连接时的错误,一个是2003和2059

一、mysql远程连接报2003

        一、查看报错原因:

Mysql数据库的默认配置文件my.cnf(linux、docker下)中的bind-address默认为127.0.0.1

        二、解决报错:

                   1、先进入到docker的mysql容器中,输入密码

命令如下:

进入mysql容器

docker exec  -it mysql  bash

登录mysql

mysql -uroot -p;(注意一定要打分号,分号是终止命令符号)

                   2、授权

 GRANT ALL ON . TO ‘root’@’%’;

                   3、刷新权限

flush privileges;

                   4、更改加密规则

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;

                   5、更新root用户密码

 ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;(密码是自己定义的)

                   6、刷新权限

flush privileges;

执行以上命名,一步一步来,2003错误就可以解决了

二、mysql远程连接报2059 

        一、分析原因:

错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password

         二、解决步骤:   

                   一、进入到mysql容器中

                   二、更改加密方式 

注意:括号中是远程连接时要写%,不是远程连接就写localhost      

ALTER USER 'root'@'localhost'('%') IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

                   三、更新用户密码

ALTER USER 'root'@'localhost' ('%')IDENTIFIED WITH mysql_native_password BY 'password';

                   四、刷新权限

FLUSH PRIVILEGES;

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值