mysql8相对mysql5.6的一点身份验证小问题

最近在docker中搭建MySQL8.0 来使用的时候, 通过sqlyog、或者程序中连接数据库时,提示:Authentication plugin 'caching_sha2_password' cannot be loaded 的错误,一直以为是docker的问题,经查看发现,8.0改变了 身份验证插件 , 打开 my.ini (或者my.cofg) 可以看到变更了 5.7及其以前的方式: mysql_native_password

解决 :
Authentication plugin ‘caching_sha2_password’ cannot be loaded 的方法,可以往你的连接工具、或者程序应用显示指定身份验证方式,或者直接改为以前的版本方式:
你可以使用如下方式:

这里root的密码改为123456,使用老版本的身份验证插件方式: 

ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '123456';

对于全部地址的话去掉localhost直接给root或某个角色更改即可:

ALTER USER root IDENTIFIED WITH mysql_native_password BY '123456';

最后刷新权限即可    FLUSH PRIVILEGES;

最后 附上docker的启动命令:
# 启动mysql容器
docker run -d --name mysql -p 3306:3306 -v /opt/data/mysql/etc:/etc/mysql/conf.d/ -v /opt/data/mysql/data:/var/lib/mysql  -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
#进入mysql容器并使用mysql命令行客户端连接: 
docker exec -it mysql mysql -uroot -p123456

有关于docker的问题留言即可。
阅读更多
个人分类: 基本功咯
想对作者说点什么? 我来说一句

Thinkphp5.0.17小程序商城整站

2018年05月25日 45MB 下载

DLL vierwer

2010年10月15日 78KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭