解决方法:1、进入到docker的mysql容器中,并且利用“GRANT ALL ON . TO ‘root’@’%’;”给用户进行授权;2、刷新权限后利用“ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;”更改加密规则;3、更新root用户密码后刷新权限即可。
本教程操作环境:linux7.3系统、docker19.03版、Dell G3电脑。
一、查看报错原因:
Mysql数据库的默认配置文件my.cnf(linux、docker下)中的bind-address默认为127.0.0.1
二、解决报错:
1、先进入到docker的mysql容器中,输入密码
命令如下:
进入mysql容器:
docker exec -it mysql bash
登录mysql
mysql -uroot -p;(注意一定要打分号,分号是终止命令符号)
授权
GRANT ALL ON . TO ‘root’@’%’;
刷新权限
flush privileges;
2、更改加密规则
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
3、更新root用户密码
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;(密码是自己定义的)
刷新权限
flush privileges;
执行以上命名,一步一步来,2003错误就可以解决了
推荐学习:《docker视频教程》
以上是docker连接mysql报错2003怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!