MySQL 遠(yuǎn)程連接賬戶無法訪問數(shù)據(jù)庫: init_connect 錯誤的引號類型導(dǎo)致連接失敗?

MySQL 遠(yuǎn)程連接賬戶無法訪問數(shù)據(jù)庫: init_connect 錯誤的引號類型導(dǎo)致連接失敗?

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)聲明
THE END
喜歡就支持一下吧
點贊7 分享