欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

navicat连接mysql报错1251的解决办法

程序员文章站 2022-08-20 14:38:56
今天下了个 mysql8.0,发现navicat连接不上,总是报错1251; 原因是mysql8.0版本的方式和mysql5.0的不一样,连接会报错。 试了很多种方法,终于找到一种可以实现的:   ...

今天下了个 mysql8.0,发现navicat连接不上,总是报错1251;

原因是mysql8.0版本的方式和mysql5.0的不一样,连接会报错。

试了很多种方法,终于找到一种可以实现的:

  更改加密方式

1.先通过命令行进入mysql的root账户:

ps c:\windows\system32> mysql -uroot -p

再输入root的密码:

enter password: ******

welcome to the mysql monitor.  commands end with ; or \g.

your mysql connection id is 18

server version: 8.0.11 mysql community server - gpl

copyright (c) 2000, 2018, oracle and/or its affiliates. all rights reserved.

oracle is a registered trademark of oracle corporation and/or its

affiliates. other names may be trademarks of their respective

owners.

type 'help;' or '\h' for help. type '\c' to clear the current input statement.

mysql>

2.更改加密方式:

mysql> alter user 'root'@'localhost' identified by 'password' password expire never;

query ok, 0 rows affected (0.10 sec)

3.更改密码:该例子中 123为新密码

mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123';

query ok, 0 rows affected (0.35 sec)

4.刷新:

mysql> flush privileges;

query ok, 0 rows affected (0.28 sec)

// 如果报错error 1396 (hy000): operation alter user failed for 'root'@'%':

则是远程访问权限不正确,先选择,查看一下再更改:

mysql> use mysql;

database changed

mysql> select user,host from user;

+------------------+-----------+

| user             | host      |

+------------------+-----------+

| mysql.infoschema | localhost |

| mysql.session    | localhost |

| mysql.sys        | localhost |

| root             | localhost |

+------------------+-----------+

5 rows in set (0.00 sec)