今天下了個 MySQL8.0驱显,發(fā)現(xiàn)Navicat連接不上,總是報錯1251瞳抓;
原因是MySQL8.0版本的加密方式和MySQL5.0的不一樣埃疫,連接會報錯。
試了很多種方法孩哑,終于找到一種可以實現(xiàn)的:
更改加密方式
1.先通過命令行進入mysql的root賬戶:
1PS C:\Windows\system32> mysql -uroot -p
再輸入root的密碼:
Enter?password: ******
Welcome?tothe MySQL monitor.? Commands?endwith;?or\g.
Your MySQL?connectionid?is18
Server version: 8.0.11 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle?and/orits affiliates.?Allrights reserved.
Oracle?isa registered trademark?ofOracle Corporation?and/orits
affiliates. Other names may be trademarks?oftheir respective
owners.
Type?'help;'or'\h'forhelp. Type?'\c'toclear the?currentinput statement.
mysql>
2.更改加密方式:
mysql>?ALTERUSER'root'@'localhost'IDENTIFIED?BY'password'PASSWORDEXPIRE NEVER;
Query OK, 0?rowsaffected (0.10 sec)
3.更改密碼:該例子中 123為新密碼
mysql>?ALTERUSER'root'@'localhost'IDENTIFIED?WITHmysql_native_password?BY'123';
Query OK, 0?rowsaffected (0.35 sec)
4.刷新:
mysql> FLUSH?PRIVILEGES;
Query OK, 0?rowsaffected (0.28 sec)
// 如果報錯ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%':
則是遠程訪問權限不正確栓霜,先選擇數(shù)據(jù)庫,查看一下再更改:
mysql> use mysql;
Databasechanged
mysql>?selectuser,host?fromuser;
+------------------+-----------+
|?user| host????? |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session??? | localhost |
| mysql.sys??????? | localhost |
| root???????????? | localhost |
+------------------+-----------+
5?rowsinset(0.00 sec)