java.sql.SQLException:拒绝用户“userx”@“%”的访问(使用密码:是)

java.sql.SQLException:拒绝用户“userx”@“%”的访问(使用密码:是),java,mysql,jdbc,sqlexception,Java,Mysql,Jdbc,Sqlexception,我一直面临着一个sql异常,正如在本标题中一样 只有当我尝试使用Javaweb应用程序将数据插入数据库MySQL时,才会发生此错误, 但是,诸如update和select之类的sql操作执行时不会出错。 userx确实拥有数据库的所有权限 在对我的系统进行单一更改之前,我从未出现过此类错误,具体如下: 将本地安装的数据库移动到Amazon RDS 我没有对我的代码、sql或任何东西做任何更改 这一错误的原因可能是什么 如果您有任何建议,我们将不胜感激。请检查您的公共ip地址是否允许进入RDS A

我一直面临着一个sql异常,正如在本标题中一样

只有当我尝试使用Javaweb应用程序将数据插入数据库MySQL时,才会发生此错误, 但是,诸如update和select之类的sql操作执行时不会出错。 userx确实拥有数据库的所有权限

在对我的系统进行单一更改之前,我从未出现过此类错误,具体如下:

将本地安装的数据库移动到Amazon RDS 我没有对我的代码、sql或任何东西做任何更改

这一错误的原因可能是什么


如果您有任何建议,我们将不胜感激。

请检查您的公共ip地址是否允许进入RDS ACL,我想是这样的。然后尝试创建一个userx@yourpublicipaddress并授予它所有的津贴。然后尝试插入。这个配置在我们的应用程序中对我有效。希望这能对您起作用。

事实证明,该错误是由以下从tsv文件加载数据并将数据插入表的代码引起的

LOAD DATA INFILE ?
        REPLACE INTO TABLE product_p FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 LINES...
应显式地将本地设置为↓ 对于RDBMySQL

LOAD DATA LOCAL INFILE ?
        REPLACE INTO TABLE product_p FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' IGNORE 1 LINES...

实际上我设置如下:userx@%,这样他就可以从任何地方访问数据库。。。问题是被访问的dined发生在插入其他sql操作时,而不是像update和select这样的sql操作。我理解您的观点,我的建议是创建一个绑定到ACL中明确允许的IP的用户。如果这仍然不起作用,那么问题就出在GRANTS的某个地方,否则出于某种原因,就是阻止用户到处插入。这是我遇到类似问题时通常会做的调查步骤