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

时间:2015-11-11 09:03:22

标签: java mysql jdbc sqlexception

我一直面临着这个标题中的sql异常。

当我尝试使用Java(Web应用程序)将数据插入数据库(MySQL)时,才会出现此错误, 但执行更新和选择等SQL操作时没有错误。 (userx确实拥有DB的所有权限)

在对我的系统进行一次更改之前,我没有遇到过这样的错误:

  • 将本地安装的数据库移至Amazon RDS

我没有对我的代码,sql或任何内容进行任何更改......

导致此错误的原因是什么?

非常感谢任何建议和意见。

2 个答案:

答案 0 :(得分:0)

检查您的公共IP地址是否允许进入RDS ACL(我想是这样)。然后尝试创建一个userx @ yourpublicipaddress并授予它所有的权限。然后尝试插入。这个配置在我们的应用程序中适用于我。希望这对你有用。

答案 1 :(得分:0)

事实证明,该错误是由以下代码将tsv文件中的数据加载到表中引起的。

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

对于RDB(MySQL),“LOCAL”应明确设置为↓。

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