拒绝访问?错误的用户/通行证

时间:2012-04-03 10:26:45

标签: java mysql cpanel

我正在尝试编写一个java程序来连接到我的网站使用的同一个MySQL数据库。我使用相同的登录详细信息,减去主题名称,但我收到了这些错误:

SQLException: Access denied for user 'USER'@'HOSTNAME' (using password: YES)
SQLState: 28000
VendorError: 1045

我使用的是我的主机提供的主机名,密码和用户与我网站上的详细信息相同。

以下是代码snippit:

public main() {
        Connection con = null;
        String mysql_hostname   = "HOST";
        String mysql_username   = "USER";
        String mysql_password   = "PASS";
        String mysql_database   = "DB";
        int mysql_port          = 3306;
        initComponents();

        try {
            con = DriverManager.getConnection("jdbc:mysql://"+ mysql_hostname +":"+ mysql_port +"/"+ mysql_database +"?user="+ mysql_username +"&password="+ mysql_password);
        }
        catch(SQLException ex) {
            System.out.println("SQLException: " + ex.getMessage());
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
        }
    }

这可能与某些cPanel设置有关,但我对Java很新,所以要求不会受到伤害......对吗? :d

1 个答案:

答案 0 :(得分:2)

在cPanel上,我记得当你创建一个db用户时,还有一个与该用户默认关联的主机名(localhost),如果你在本地机器上运行代码,你必须添加你的IP(公共IP)或%in来自cPanel的此db用户的主机名。所以mysql将允许从你的机器连接。

注意:添加%有风险,请确保您拥有强密码。