登录
首页 >  数据库 >  MySQL

MySQL 远程连接账户无法访问数据库: init_connect 错误的引号类型导致连接失败?

时间:2024-11-09 22:55:02 136浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《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 账户就可以成功远程登录并访问指定的数据库了。

到这里,我们也就讲完了《MySQL 远程连接账户无法访问数据库: init_connect 错误的引号类型导致连接失败?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>