Java MySql соединение не работает правильно - PullRequest
0 голосов
/ 17 июня 2019

После установки mysql-connector-java-8.0.16.jar из базы данных SQL, несмотря на все мои попытки заставить мой код работать, у меня остается ошибка отказа в доступе для пользователя. Это необычно, потому что на моем сайте работают одни и те же учетные данные пользователя, поэтому у данного пользователя есть права доступа к базе данных. Что может быть не так. Я использую неправильный импорт.

Импорт, о котором идет речь:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

Код, о котором идет речь:

package real;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class myConnection 
{
    public int returnOperation() 
    {
         try
            {
                String host = "jdbc:mysql://website.com/database";
                String username = "user";
                String password = "password";
                Connection con = DriverManager.getConnection(host, username, password);
            }
            catch(SQLException e)
            {
                System.out.println("There is an error with the SQL database: " + e.getMessage());
            }
        return 0;
    }
}

Ошибка, которую я продолжаю получать:

There is an error with the SQL database: Access denied for user 'USER'@'IP ADDRESS' (using password: YES)

Ответы [ 2 ]

1 голос
/ 17 июня 2019

Как уже упоминалось выше

 GRANT ALL PRIVILEGES ON database.* TO 'user'@'%' WITH GRANT OPTION;
 FLUSH PRIVILEGES;

и, поскольку вы новичок, вы можете перейти на вкладку sql в phpmyadmin

1 голос
/ 17 июня 2019

Хорошие новости выглядят так, будто все в вашей сети в порядке.В частности, ваша ошибка связана с конфигурацией.

Что касается конфигурации, мое первое предположение состоит в том, что вы разрешаете только локальные подключения (от localhost).

Ваша проблема заключается в простой аутентификации.Попробуйте соединиться с этим пользователем локально, если это удастся, вам действительно нужно указать mysql разрешить соединение с этим пользователем, с IP-адреса или любого IP-адреса к серверу.

GRANT ALL PRIVILEGES ON database.* TO 'user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Или вы можете попробоватьприложение изнутри сервера и посмотреть, если это удастся.

...