在 mysql 中創(chuàng)建僅允許遠(yuǎn)程訪問特定數(shù)據(jù)庫的賬戶,為何無法連接數(shù)據(jù)庫?
在遠(yuǎn)程主機(jī)上創(chuàng)建用戶 auser 并授予其對特定數(shù)據(jù)庫 mydb 的所有權(quán)限后,該用戶卻無法遠(yuǎn)程登錄。那么,導(dǎo)致此問題的潛在原因是什么?
根據(jù)錯誤信息,使用 navicat 登錄 auser 賬戶時,提示“2013 – 在查詢期間丟失與 mysql 服務(wù)器的連接”,表明建立連接時遇到問題。
深入調(diào)查發(fā)現(xiàn),使用 mysql 命令行工具登錄 auser 賬戶后,會顯示“init_connect command failed”錯誤。這意味著在連接初始化過程中發(fā)生了問題。
在 linux 中,需要修改 /etc/my.cnf 文件中的 init_connect 變量的引號類型,將其由反引號(`)更改為單引號(’),如下所示:
修改前:
init_connect=`set collation_connection = utf8_unicode_ci` init_connect=`set names utf8`
修改后:
init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8'
保存更改并重啟 mysql 服務(wù)后,auser 賬戶就可以成功遠(yuǎn)程登錄并訪問指定的數(shù)據(jù)庫了。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END