MySQL 遠程連接賬戶無法訪問數據庫: init_connect 錯誤的引號類型導致連接失敗?

MySQL 遠程連接賬戶無法訪問數據庫: init_connect 錯誤的引號類型導致連接失敗?

mysql 中創建僅允許遠程訪問特定數據庫的賬戶,為何無法連接數據庫?

在遠程主機上創建用戶 auser 并授予其對特定數據庫 mydb 的所有權限后,該用戶卻無法遠程登錄。那么,導致此問題的潛在原因是什么?

根據錯誤信息,使用 navicat 登錄 auser 賬戶時,提示“2013 – 在查詢期間丟失與 mysql 服務器的連接”,表明建立連接時遇到問題。

深入調查發現,使用 mysql 命令行工具登錄 auser 賬戶后,會顯示“init_connect command failed”錯誤。這意味著在連接初始化過程中發生了問題。

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 服務后,auser 賬戶就可以成功遠程登錄并訪問指定的數據庫了。

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享