• 关于mysql8.0 caching_sha2_password和sha256_password认证方式


    今天开发上线新系统反馈数据库连接有问题。自己分别在命令行下及navicat进行连接发现,发现root用户密码在命令行下可以正常连接,但是新建立的子用户连接不上。于是就换成管理员密码。立即就连接上了。看来是密码设置问题。随即就换了密码就可以了。

    切记两个密码策略不一样,一定要更按照规则设置密码,很有可能是不符合规则导致连接不上。从另一个加密码规则切换到另一个加密码规则密码就不好使了。

    但是用navicat连接不上,Client does not support authentication protocol requested by server,必须把密码插件必须改为:mysql_native_password。

    解决方案

    USE mysql; 
    ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’; 
    FLUSH PRIVILEGES;
     
    也可以参数my.cnf中加上
    default_authentication_plugin=mysql_native_password
     
     

    查看当前用户使用的密码验证插件

    mysql> show variables like '%auth%';

    查看 MySQL8 支持的密码验证插件

    mysql> show plugins;

    修改系统默认的密码验证插件配置参数方式 default-authentication-plugin

    设置默认密码验证插件

    default-authentication-plugin=caching_sha2_password

    启动参数方式 --default-authentication-plugin
    C:Usersjie>D:chengxuMySQLmysql-8.0.12-winx64inmysqld --default-authentication-plugin=mysql_native_password

    查看用户密码插件 mysql> select host, user, plugin from mysql.user;  
  • 相关阅读:
    java修改应用程序标题栏
    电动双轮车
    Oracle执行计划相关(待补充)
    SQL中IN和EXISTS用法的区别
    union all与union all
    equals与hashcode
    文件上传的整个流程
    adwords与adsence
    struts2文件上传大小
    为什么是UUID做主键
  • 原文地址:https://www.cnblogs.com/niewd/p/15479459.html
Copyright © 2020-2023  润新知