一次docker登录mysql报错问题的实战记录
起因
最近想再重温重温MySQL,于是就打开VMware登上了我的小破机。想着之前在docker上面已经装过MySQL了,就尝试着登录了一下,
进入mysql服务
docker exec -it mysql bash
输入命令
mysql -uroot -p
输入密码
想象的Welcome to the MySQL没有到来,反而是
???密码明明没有错,登不上去.....
之后打开Navicat,测试远程登录,🤣登上去了,Navicat可以正常使用。
那为什么命令行却登不上去?
找了好多资料才知道原来是MySQL密码加密插件的原因,MySQL最新的8.0.x
版本使用的时默认的caching_sha2_password插件,而MySQL5.x的版本使用的是mysql_native_password插件。
使用命令行明文密码登录的时候,走的是mysql_native_password,数据库中存的是caching_sha2_password加密过的密码,所以两者自然不匹配。
解决方法
可以先通过以下SQL语句查询确认。
select user, plugin from mysql.user;
在通过以下SQL进行修改:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; FLUSH PRIVILEGES;
语句中的用户:root,host:%,密码找按实际情况修改。
解决之后,再次登录MySQL,就可以登进去了。
附:docker下进入mysql命令行
[root@VM_0_8_centos ~]# docker exec -it 89c5b9c81e74 bash root@89c5b9c81e74:/# mysql -u root -p
Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 141019 Server version: 5.7.18 MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
总结
到此这篇关于docker登录mysql报错问题的文章就介绍到这了,更多相关docker登录mysql报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- docker 命令报异常permission denied的解决方案
- docker容器因报错无法启动问题的检查及修复容器错误并重启
- Docker报错Operation not permitted问题的解决方法
- Docker启动失败报错Failed to start Docker Application Container Engine的解决办法
- Docker报错:OCI runtime exec failed: exec failed: container_linux.go:380: starting container process的解决方法
- Docker报错denied:requested access to the resource is denied解决
相关文章
浅析CentOS6.8安装MySQL8.0.18的教程(RPM方式)
这篇文章主要介绍了CentOS6.8安装MySQL8.0.18(RPM方式)的详细教程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2019-11-11Windows11下MySQL 8.0.29 安装配置方法图文教程
这篇文章主要为大家详细介绍了Windows11下MySQL 8.0.29 安装配置方法图文教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-07-07MySQL深入详解delete与Truncate及drop的使用区别
对于drop、truncate和delete虽然简单,但是真要使用或者面试时候问到还是需要有一定的总结,下面这篇文章主要给大家介绍了关于mysql中drop、truncate与delete区别的相关资料,需要的朋友可以参考下2022-07-07
最新评论