zoukankan      html  css  js  c++  java
  • mysql8无法用navicat连接(mysql8加密方式的坑)

    关键词:mysql8无法用navicat连接,navicat无法连接mysql8,mysql8,mysql8的加密方式

    【1】mysql8 的坑 密码加密规则

      在MySQL 8.0.以上版本中,caching_sha2_password是默认的身份验证插件,而不是以往的mysql_native_password。

      有关此更改对服务器操作的影响以及服务器与客户端和连接器的兼容性的信息,请参阅caching_sha2_password作为首选的身份验证插件。

      (翻译自https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html

    
    
    #如果您还没有配置,那么在配置文件中可以修改,修改配置文件并重启Mysql服务后,新建的用户就可以远程连接了。但现有用户仍然无法远程连接
    [mysqld]
    # 默认使用 mysql_native_password 插件认证
    default_authentication_plugin=mysql_native_password
    
    

    【2】远程无法连接

    问题:创建好用户后,用windows系统本地开发环境 的 Navicatmysql 连接数据库, 提示密码错误。

      

       后来查到是加密方式问题。

    解决办法

      (1)推荐使用

      -- 如果是现有用户

      alter user '用户名'@localhost IDENTIFIED WITH mysql_native_password by '你的密码';

      改为5.X 版本的 mysql_native_password , 但没有重新改用户密码,导致代码一直连接不上, 用 mysql_native_password 再更改一次密码搞定。

      -- 如果是新建用户

       create user 'root'@'%' identified with mysql_native_password by '你的密码'

    【3】5.X版本与8.X版本的创建用户方式

      5.X 版本添加用户和授权可以同时进行: grant select,delete,insert,update on dbname.* to username@‘localhost’ identified by ‘password’; 一句话搞定。
      8.X 版本要先 创建用户, 再grant
        create user username identified by ‘password’; (坑在这里,默认密码加密方式跟5不一样了 )
        grant select,delete,insert,update on username@‘localhost’;

    同类参考:mysql8.0 安装 修改密码 允许远程连接

  • 相关阅读:
    WPF中StringToImage和BoolToImage简单用法
    linux定时执行任务
    进程管理
    防火墙和网络安全
    ICMP
    茶叶知识
    插花、花艺、种植
    AD域中添加了一个策略导致的问题
    写一个工具,将批量的“规章制度”文件上传到广西门户网站对应的文档库中
    SharePoint Online 创建门户网站系列之定制栏目
  • 原文地址:https://www.cnblogs.com/gered/p/11156189.html
Copyright © 2011-2022 走看看