Linux下設(shè)置mysql允許遠(yuǎn)程連接

最近在Linux上安裝了Mysql,然后在Windows環(huán)境下通過Navicat來連接時(shí),出現(xiàn)報(bào)錯(cuò):1045 Access denied for user 'root'@'XXX' (using password: YES),如下:

連接報(bào)錯(cuò)

首先,在Linux中是可以正常登錄mysql,所以不會(huì)是用戶密碼錯(cuò)誤導(dǎo)致的。

接著,我考慮到可能與防火墻有關(guān),于是檢查了Linux下的防火墻是否開放了對(duì)應(yīng)端口,發(fā)現(xiàn)此時(shí)的防火墻是關(guān)閉狀態(tài),因此可以排除防火墻的影響。

最后,突然想到默認(rèn)情況下mysql的root用戶是不能遠(yuǎn)程連接的,于是在Linux中登錄mysql,發(fā)現(xiàn)果然是這個(gè)原因,解決過程如下:

  • 1.登錄mysql,命令:mysql -u root -p ,然后輸入密碼即可。
登錄mysql
  • 2.查看mysql庫中的user表的host字段

使用mysql庫:use mysql
查詢信息:select user,host from user

查詢結(jié)果

host字段中,localhost表示只允許本機(jī)訪問,要實(shí)現(xiàn)遠(yuǎn)程連接,可以將root用戶的host改為%,%表示允許任意host訪問,如果需要設(shè)置只允許特定ip訪問,則應(yīng)改為對(duì)應(yīng)的ip。

  • 3.修改root用戶的host字段,命令:update user set host="%" where user="root"

  • 4.使本次修改立即生效,命令:flush privileges

修改后的結(jié)果

最后,在windows下的Navicat中遠(yuǎn)程連接,便不會(huì)報(bào)錯(cuò)了。

連接成功
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容