Navicat遠(yuǎn)程連接MySQL8時(shí)報(bào)“1251”的解決方法(建議‘root‘@‘localhost‘和‘root‘@‘%‘共存)

[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!

這兩天折騰泛微ecology9在Linux系統(tǒng)下運(yùn)行,折騰的實(shí)屬夠嗆,真的是蛋疼,有一種蛋碎的趕腳~也實(shí)屬無(wú)奈,咋也得搞定不是?。?!

這不用Navicat連接MySQL8遠(yuǎn)程連接時(shí)報(bào)錯(cuò)“1251 Client does not support authentication protocol requested by server;consider upgrading MySQL client”

翻譯一下結(jié)果為:1251客戶端不支持服務(wù)器請(qǐng)求的認(rèn)證協(xié)議,考慮升級(jí)MySQL客戶端? 錯(cuò)誤如下圖所示

Navicat遠(yuǎn)程連接MySQL8時(shí)報(bào)“1251”的解決方法

出現(xiàn)這個(gè)原因是mysql8 之前的版本中加密規(guī)則是mysql_native_password,而在mysql8之后,加密規(guī)則是caching_sha2_password;

一種是升級(jí) navicat 驅(qū)動(dòng);一種是把 mysql 用戶登錄密碼加密規(guī)則還原成 mysql_native_password,更改加密方式為“mysql_native_password”更為方便快捷;

寫在前面:建議root‘@‘localhost‘和‘root‘@‘%‘共存

1、先登錄mysql -u root -p、然后切換到mysql數(shù)據(jù)庫(kù)use mysql;、查看SELECT User, Host FROM mysql.user;

如root用戶的host字段是localhost,那需要更改權(quán)限讓root用戶可以從任何主機(jī)登錄。

如,root用戶的host字段是localhost,不符合要求:

說(shuō)明:下面因?yàn)樽尅畆oot‘@‘localhost‘和‘root‘@‘%‘共存,我選擇新建用戶!

2、先讓‘root‘@‘localhost‘執(zhí)行“mysql_native_password”,不然后面會(huì)沒(méi)有權(quán)限;

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456a';

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456a' PASSWORD EXPIRE NEVER;

FLUSH PRIVILEGES;

3、創(chuàng)建一個(gè)允許從任何主機(jī)登錄的root用戶,密碼為laoliang

CREATE USER 'root'@'%' IDENTIFIED BY 'laoliang';
-- 創(chuàng)建'root'@'%'賬戶
CREATE USER 'root'@'%' IDENTIFIED BY 'laoliang';
-- 給'root'@'%'賬戶設(shè)置權(quán)限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
-- 刷新權(quán)限
flush privileges;

4、將加密方式改為mysql_native_password 帶上密碼

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'laoliang';

5、更新新用戶的密碼

ALTER USER 'root'@'%' IDENTIFIED BY 'laoliang' PASSWORD EXPIRE NEVER;

6、刷新新建用的所有信息

FLUSH PRIVILEGES;

在輸入select user,host,plugin from mysql.user;查詢,是有兩個(gè)root信息,root用戶加密方式變成了“mysql_native_password”加密方式

這個(gè)時(shí)候便可以使用Navicat連接數(shù)據(jù)庫(kù)嘍;

延伸閱讀:修改‘root‘@‘localhost‘變成‘root‘@‘%‘遠(yuǎn)程連接的方式方法

1、創(chuàng)建mysql root用戶(有用戶不用理會(huì))

insert into user(User,authentication_string,ssl_cipher,x509_issuer,x509_subject) values('root','','','','');

2、添加空權(quán)限(有用戶自然有權(quán)限,依然不需要理會(huì))

update user set Host='%',select_priv='y', insert_priv='y',update_priv='y',Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';commit;

3、修改‘root‘@‘localhost‘變成‘root‘@‘%‘任意連接

update user set host='%' where user='root'; //更新root的host為‘%’

update user set plugin='mysql_native_password' where user='root';

4、更新plugin屬性為mysql_native_password

alter user 'root'@'%' identified with mysql_native_password by '你的密碼';

按照以上操作就可以搞定Navicat遠(yuǎn)程連接MySQL8報(bào)1251的錯(cuò)誤;

問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信

所寫所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對(duì)《免責(zé)聲明》全部?jī)?nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來(lái)自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請(qǐng)勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請(qǐng)聯(lián)系站長(zhǎng)并出示版權(quán)證明以便刪除。 敬請(qǐng)諒解! 侵權(quán)刪帖/違法舉報(bào)/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評(píng)論,如有謬誤,請(qǐng)聯(lián)系指正;轉(zhuǎn)載請(qǐng)注明出處: » Navicat遠(yuǎn)程連接MySQL8時(shí)報(bào)“1251”的解決方法(建議‘root‘@‘localhost‘和‘root‘@‘%‘共存)

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開(kāi)發(fā)與維護(hù);網(wǎng)站開(kāi)發(fā)修改及維護(hù); 各財(cái)務(wù)軟件安裝調(diào)試及注冊(cè)服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時(shí)也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情