广告
返回顶部
首页 > 资讯 > 数据库 >一次docker登录mysql报错问题的实战记录
  • 288
分享到

一次docker登录mysql报错问题的实战记录

docker重启mysql数据丢失docker登录mysqldocker mysql 2022-11-13 00:11:17 288人浏览 泡泡鱼
摘要

目录起因解决方法附:Docker下进入Mysql命令行总结起因 最近想再重温重温mysql,于是就打开VMware登上了我的小破机。想着之前在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报错内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: 一次docker登录mysql报错问题的实战记录

本文链接: https://www.lsjlt.com/news/162924.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作