Как подключить мою удаленную базу данных MySQL к jdbc? что значит ошибка?

показывает ошибку: -

Tue Apr 09 14:34:46 IST 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.


java.sql.SQLException: Access denied for user 'sql12287303'@'localhost' (using password: YES)

Мне удалось использовать базы данных на моей локальной машине, но я не могу подключиться к своему удаленному серверу mysql.

public class JDBCDemo {

    public static void main(String[] args) {
        String TableName;
        // TODO Auto-generated method stub
        try{
            String url = "jdbc:mysql://localhost:3306/sql12287303";           //3306/db1?autoReconnect=true&useSSL=false";
            String username = "sql12287303";
            String password = "54hBDtsfPg";
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection con = DriverManager.getConnection(url, username, password);
            System.out.println ("Database connection established");
            System.out.println(con);
            Statement smt = con.createStatement();
            smt.execute("create database db1");
            smt.execute("use db1");
            smt.execute("create table flames(id Integer primary key,fname varchar(20),sname varchar(20)");
            smt.execute("show tables");

            ResultSet rs = smt.getResultSet();
            while(rs.next()){
                TableName = rs.getString(1);
                System.out.println("Table Name:"+TableName);
            }

        }catch(Exception e){System.out.println(e);} 
    }

}

ИмяТаблицы:пламя

Это та же проблема, о которой сообщил stackoverflow.com/questions/34189756/….

George 09.04.2019 11:39

Привет Пурна! Вы предоставили доступ пользователю? grant all on sql12287303.* to 'sql12287303'@'localhost' identified by '54hBDtsfPg'

haba713 09.04.2019 11:40

@ Джордж Это, конечно, не так. Это предупреждение: это ошибка. Это неаутентифицированный сервер: это неаутентифицированный клиент. Совершенно разные ситуации.

user207421 09.04.2019 11:44

Ваши url ссылки localhost. Это то, что вы хотите? Я предполагаю, что, поскольку вы говорите «удаленный mysql», это не так.

guest 09.04.2019 17:07

@guest Хороший вопрос, но он не получил отказ в соединении, он получил отказ в доступе, что означает, что он получил соединение.

user207421 10.04.2019 01:41

@OP Почему имя пользователя совпадает с именем базы данных?

user207421 10.04.2019 01:41

Сервер: sql12.freemysqlhosting.net Имя: sql12287303 Имя пользователя: sql12287303 Пароль: 54hBDtsfPg Номер порта: 3306. Они генерируются в freemysqlhosting.net, когда я создал в нем базу данных.

Purna Mahesh 10.04.2019 17:32

Та же ошибка произошла при доступе к моей базе данных, созданной на 000webhost.

Purna Mahesh 10.04.2019 17:34
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
8
167
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Думаю, намека было недостаточно.

Этот код указывает драйверу JDBC подключиться к базе данных с именем sql12287303 на localhost:

String url = "jdbc:mysql://localhost:3306/sql12287303";

Сообщенная вами ошибка указывает на то, что вы на самом деле подключаетесь к localhost, но с пользователем, который не известен на работающем там сервере базы данных.

Если вы хотите подключиться к удаленной базе данных, вам нужно изменить свой URL:

String url = "jdbc:mysql://sql12.freemysqlhosting.net:3306/sql12287303";

Другие вопросы по теме