解决mysql与navicat建立连接出现1251错误

重装了电脑,安装了最新版的MySQL数据库,结果Navicat连接Mysql报1251错误,sqlyog报2058错误,但是window命令进入mysql,账号密码都是正确的。

在网上查的是,出现这个原因是mysql8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。

解决问题方法有两种,一种是升级navicat驱动;一种是把mysql用户登录密码加密规则还原成mysql_native_password。

我常用的是第二种方式:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #修改加密规则 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #更新一下用户的密码 

FLUSH PRIVILEGES; #刷新权限

我看好多人拿着命令直接复制,这样是不对的。

  • 'root' 为你自己定义的用户名
  • 'localhost' 指的是用户开放的IP,可以是'localhost'(仅本机访问,相当于127.0.0.1),可以是具体的'*.*.*.*'(具体某一IP),也可以是 '%' (所有IP均可访问)
  • 'password' 是你想使用的用户密码

这样,问题就解决了。

以上就是mysql与navicat建立连接出现1251错误怎么解决的详细内容,更多请关注我们其它相关文章!

(0)

相关推荐

  • mysql如何利用Navicat导出和导入数据库的方法

    MySql是我们经常用到的数据,无论是开发人员用来练习,还是小型私服游戏服务器,或者是个人软件使用,都十分方便.对于做一些个人辅助软件,选择mysql数据库是个明智的选择,有一个好的工具更是事半功倍,对于MySql 的IDE 我推荐Navicat for MySql,现在我就向大家介绍如何利用Navicat for MySql 导出和导入数据. 导出数据库: 打开Navicat ,在我们要到处的数据上面右击鼠标,然后弹出的快捷菜单上点击"转储SQL 文件",在再次弹出的子菜单项中选择第

  • navicat连接mysql出现2059错误的解决方法

    最近在学习django的时候需要用到数据库,于是便下载了navicat准备和mysql配套使用,但是在连接的时候确出现了如下问题: 网上查询过后,发现这个错误出现的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password. 解决此问题有两种方法,一种是更新navicat驱动来解决此问题,一种是将mysql用户登录的加密规则修改为mysql_native_password.:根据网上大部分建议采

  • mysql通过Navicat分区实操讲解

    mysql分区有利于管理非常大的表,mysql分区一共有四种类型,range分区,list分区, hash分区,key分区,我们通过Navicat 可视化工具来分区 1.打开Navicat 找到指定的数据库,设计表 2.打开设计表选择选项,下面有分分割区 3.首先看hash分区,基于给定的分区个数,把数据分配到不同的分区 4.通过sql查看一下分区表的信息, 5.range 分区,表示要按照哪个字段进行分区,可以是一个字段名,也可以是对某个字段进行表达式运算如year(create_time),

  • MySQL可视化工具Navicat的连接方法

    安装好Navicat之后 可能会出现如下的错误:Client does not support authentication protocol requested by server 这个时候,在mysql的bin文件目录下输入mysql -u root -p 然后输入密码,进入mysql的终端,在终端输入命令: alter user 'root'@'localhost' identified with mysql_native_password by '' 后面的单引号后面加上自己mysql的

  • Navicat修改MySQL数据库密码的多种方法

    方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for root@localhost = password('123'); 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password 12

  • 解决mysql与navicat建立连接出现1251错误

    重装了电脑,安装了最新版的MySQL数据库,结果Navicat连接Mysql报1251错误,sqlyog报2058错误,但是window命令进入mysql,账号密码都是正确的. 在网上查的是,出现这个原因是mysql8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password. 解决问题方法有两种,一种是升级navicat驱动:一种是把mysql用户登录密码加密规则还原成mysql_native_password.

  • 完美解决mysql客户端授权后连接失败的问题

    在本地(192.168.1.152)部署好mysql环境,授权远程客户机192.168.1.%连接本机的mysql,在iptables防火墙也已开通3306端口. 如下: mysql> select host,user,password from mysql.user; +--------------+-----------------+---------------------------------------------------------+ | host | user | passw

  • 解决mysql数据库设置远程连接权限执行grant all privileges on *.* to 'root'@'%' identified by '密码' with grant optio报错

    mysql数据库设置远程连接权限,执行grant all privileges on *.* to 'root'@'%' identified by '密码' with grant optio报错 ERROR1558 (HY000): Column count ofmysql.user is wrong. Expected 43, found 42. Created with MySQL 50556, now running 50639. Please use mysql_upgrade to

  • 解决Mysql报Invalid default value for ''operate_time''错误的问题

    在数据库中执行建表语句 CREATE TABLE `sys_acl` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '权限id', `code` varchar(20) NOT NULL DEFAULT '' COMMENT '权限码', `name` varchar(20) NOT NULL DEFAULT '' COMMENT '权限名称', `acl_module_id` int(11) NOT NULL DEFAULT '0' COMMEN

  • mysql server 5.5连接不上的解决方法

    mysql连接不上了的解决办法,供大家参考,具体内容如下 昨天用着好好的,第二天突然连接不上了mysql数据库,并且报错: 仔细想了想原因很有可能是因为不经意间删除了mysql自带表中的一些数据信息导致的表损坏,之前也是把oracle给弄坏了..... 所以不要随便的删除系统的表信息 进入服务,找到mysql,发现服务已经停止,重新启动该服务,发现无法重启,如下 无法重启报1067 并且在dos命令中进入msyql也是不可以的 然后我去事务管理器中查看了一下系统的日志信息发现mysql出现了错误

  • 解决Navicat Premium 连接 MySQL 8.0 报错"1251"的问题分析

    人闲太久,努力一下就以为是在拼命. 一.问题 Navicat Premium 连接 MySQL 8.0 报错: 1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client 二.原因 MySQL 8.0 改变了密码认证方式. 在 MySQL 8.0 之前版本的密码认证方式为: mysql_native_password 为了提供更安全的密码加密

  • Navicat连接mysql报错1251错误的解决方法

    本文为大家分享了Navicat连接mysql报错1251错误的解决方法,供大家参考 错误提示 出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password 解决办法:把mysql用户登录密码加密规则还原成mysql_native_password. 步骤: 1.打开cmd命令窗口,输入命令 mysql -uroot -p 打开MySQL数据库,然后输入密码进行登录. 2.修改加密规则 将加

  • 解决navicat远程连接mysql报错10038的问题

    navicat远程连接mysql报错10038一般由以下两个原因: 一:本地防火墙问题 在本地安装了mysql.navicat并打开了mysql服务的情况下,来设置防火墙. 首先右击或者点击入站规则,找到新建规则,点击. 点击端口. 在特定本地端口中填入3306. 一直点击下一步. 这里可以给一个好分别的名称即可. 之前再尝试连接即可,若仍然不可以,可能是服务器方面的问题. 二:服务器3306端口未打开 首先需要在安全组开放端口. 我这里使用的是阿里云服务器.首先需要进入云服务器,找到安全组.

  • 解决Navicat无法连接 VMware中Centos系统中的 MySQL服务器的问题

    Host 'xxxx' is not allowed to connect to this MySQL server的解决方法 报错:1130 -Host *** is not allowed to connect to this MySQL server 这里的ip也发生了错误,我输入的是192.168.117.101但是报错报成192.168.117.1 实际的连接不上,可能有很多种,如果是上面这种报错信息,则下面就是解决方法.如果不是, 可能原因有  网络无法连通,文章链接:Centos设

  • 完美解决docker安装mysql后Navicat连接不上的问题

    一.docker拉取镜像 docker pull mysql (默认拉取最新版本的) 二.运行mysql docker run -p 3308:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql 容器名:mysql 密码:123456 三.查看是否运行 docker ps -a 四.查看启动日志 docker logs mysql mysql就是刚刚启动的容器名,确认mysql启动是正常的 五.错误 当我用Navicat进行链接的时候

随机推荐