关键词: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 安装 修改密码 允许远程连接

mysql8无法用navicat连接(mysql8加密方式的坑)的更多相关文章

  1. navicat连接mysql8.0+版本报错2059

    ERROR 2059 : Authentication plugin 'caching_sha2_password' cannot be loaded 问题: 连接Docker启动的mysql出现:E ...

  2. Navicat连接Mysql8.0.17出现1251错误 / 或者Navicat Premium出现2059错误

    Navicat连接Mysql8.0.17出现1251错误 重装了电脑之后,好多软件出了问题,经过一系列的插件安装,mysql终于安装好了 但是Navicat又抽筋了~~~额(⊙o⊙)... 在网上查的 ...

  3. Navicat连接MySQL8+时出现2059报错

    当我们连接时,会报2059错误 在用navicat连接MySQL8+时会出现2059错误,这是由于新版本的MySQL使用的是caching_sha2_password验证方式,但此时的navicat还 ...

  4. Navicat连接MySQL8.0亲测有效

    今天下了个 MySQL8.0,发现Navicat连接不上,总是报错1251: 原因是MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错. 试了很多种方法,终于找到一种可以实现的: 更 ...

  5. Navicat连接mysql8出现1251错误

    我的博客:www.yuehan.online   因为加密方式的问题,在使用mysql8.0的时候需要修改加密规则才能连接navicat. 打开cmd,输入以下命令: ALTER USER 'root ...

  6. navicat连接mysql8报错,错误提示为1251,原因及解决步骤

    一.错误原因: MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错. 二.解决步骤: 1.在linux虚拟机上登录mysql 2.更改加密方式: ALTER USER 'root'@ ...

  7. (转)Navicat连接MySQL8.0亲测有效

    转:https://www.cnblogs.com/shiysin/p/shiysin.html 今天下了个 MySQL8.0,发现Navicat连接不上,总是报错1251: 原因是MySQL8.0版 ...

  8. MySQL 使用Navicat连接MySQL8出现1251错误

    安装了MySQL8.x.x后使用Navicat连接总是出现1251错误,故在此记录一下解决方法. 错误提示 1251-Client does not support authentication pr ...

  9. 使用navicat连接mysql8.0.12版本 出现client does not support。。。解决办法

    navicat版本的问题 出现连接失败的原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password ...

随机推荐

  1. Python 正则表达式Ⅴ

    正则表达式实例 字符匹配 字符类 特殊https://www.xuanhe.net/字符类

  2. vscode存盘时格式化

    1.文件->首选项->设置

  3. DES加密 DESEncrypt

    /// <summary> /// DES加密/解密类. /// </summary> public class DESEncrypt { public DESEncrypt( ...

  4. Java多线程和并发(十一),CAS(Compare and Swap)

    目录 1.CAS简介 2.CAS多数情况下对开发者来说是透明的 3.CAS缺点 十一.CAS(Compare and Swap) Synchronized直观意义上是一种悲观锁 cas则是乐观锁的一种 ...

  5. 【杂题】【CometOJ Contest #5】E:迫真大游戏【概率】【排列组合】【多项式】

    Description 有一个n个点的环,有一个指针会从1号点开始向后扫描,每次扫描有p的概率删除当前点 询问每个点最后一个被删除的概率. 答案对998244353取模 n<=200000 So ...

  6. python3基础: 元组tuple、 列表list、 字典dict、集合set。 迭代器、生成器

    一.元组: tuple Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组 tup2 = (111, 22, 33, ...

  7. 分治NTT:我 卷 我 自 己

    感觉这种东西每次重推一遍怪麻烦的,就写在这里了. 说白了就是根据分治区间左端点是否为\(0\)分类讨论一下,一般是如果不是\(0\)就要乘\(2\),不过还是需要具体问题具体分析一下才好(就比如下面的 ...

  8. JS框架_(JQuery.js)夜晚天空满天星星闪烁动画

    百度云盘 传送门 密码:xftr 满天星星闪烁动画效果: (可用星空动画来作为页面背景,白色文字改为文章或者其他的O(∩_∩)O) <!doctype html> <html> ...

  9. 关于MYSQL日期 字符串 时间戳互转

    时间转字符串: select date_format(now(), '%Y-%m-%d'); #结果:2016-01-05 时间转时间戳: select unix_timestamp(now()); ...

  10. LeetCode 46. 全排列(Permutations)

    题目描述 给定一个没有重复数字的序列,返回其所有可能的全排列. 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [ ...