登录mysql 1251_Navicat 连接 MySql 报错1251解决方案(亲测)

部门升级数据库版本:

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

原因是MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错。

从网上看了一些资料,试了很多种方法,终于找到一种可以实现的:

更改加密方式:

1,命令行进入mysql的root账户:

C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -uroot -p

Enter password: ****

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

2,更改加密方式

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

Query OK, 0 rows affected (0.10 sec)

3,更改密码:该例子中 toor为新密码;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'toor';

Query OK, 0 rows affected (0.35 sec)

4,刷新权限

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.28 sec)

注:

'root'   为你自己定义的用户名

'localhost' 指的是用户开放的IP,可以是'localhost'(仅本机访问,相当于127.0.0.1),可以是具体的'*.*.*.*'(具体某一IP),也可以是 '%' (所有IP均可访问)

'password' 是你想使用的用户密码

现在使用Navicat 去连接 MySql,问题就解决了

你可能感兴趣的:(登录mysql,1251)