Доступ закрыт? Неправильный пользователь / пароль - PullRequest
1 голос
/ 03 апреля 2012

Я пытаюсь написать Java-программу для подключения к той же базе данных MySQL, которую использует мой веб-сайт. Я использую те же данные для входа в систему, за исключением имени хоста, но я получаю следующие ошибки:

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

Я использую имя хоста, предоставленное моим хостом, а пароль и пользователь совпадают с данными, указанными на моем веб-сайте.

Вот фрагмент кода:

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 Ответ

2 голосов
/ 03 апреля 2012

На cPanel, как я помню, когда вы создаете пользователя базы данных, также существует имя хоста, связанное с этим пользователем по умолчанию (localhost). Если вы запускаете свой код на локальной машине, вы должны добавить свой IP (публичный IP) или% вимя хоста для этого пользователя БД из cPanel.Так что mysql разрешит соединение с вашего компьютера.

Примечание: добавление% рискованно, убедитесь, что у вас надежный пароль.

...