Navicat远程连接MySQL8.0亲测有效

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

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

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

  例如给mysql增加一个用户use和密码usepassword

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.在登录root的情况下,授予账户use的权限

mysql>grant all privileges on *.*  to 'use'@'%'  ;

3.退出root的情况下,用use账号登录

mysql -u use -p 

输入密码登陆进去

4.在登录的是use账号得到情况下更改加密方式

更改加密方式:

mysql> ALTER USER 'use'@'%' IDENTIFIED BY 'usepassword' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.10 sec)

5.更改密码:(在登录的是use账号得到情况下)

mysql> ALTER USER 'use'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword';
Query OK, 0 rows affected (0.35 sec)

6.刷新:

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.28 sec)

你可能感兴趣的:(Navicat远程连接MySQL8.0亲测有效)