Я Java разработчик, и я написал простое Java приложение, которое создает базу данных MySQL из текстового файла. Я использую MySQL версию 8.0.19 и Java MySQL разъем 5.1.48.
Код довольно прост. Я создаю три таблицы и вставляю строки в таблицы. На моем локальном MySQL я вижу три таблицы и их содержимое, используя MySQL Workbench.
Я обращаюсь к своей локальной MySQL базе данных со следующего хоста:
jdbc:mysql://localhost:3306/bible?useSSL=false
Мой идентификатор пользователя: "root".
Когда я пытаюсь подключиться к базе данных MySQL на AWS RDS, со следующим хостом я получаю ошибки об отказе в соединении.
jdbc:mysql://bible-database.caaitaoyrsgq.us-east-1.rds.amazonaws.com:3306
Я немного изменил URL, чтобы защитить себя.
Когда я пытаюсь получить доступ к моей базе данных AWS RDS MySQL, я получаю следующую ошибку:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:335)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2187)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2220)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2015)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:768)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:385)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:323)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at com.ggl.bible.database.sql.SQL.connect(SQL.java:31)
at com.ggl.bible.database.BuildDatabase.processBible(BuildDatabase.java:30)
at com.ggl.bible.database.BuildDatabase.main(BuildDatabase.java:19)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.base/sun.nio.ch.Net.connect0(Native Method)
at java.base/sun.nio.ch.Net.connect(Net.java:493)
at java.base/sun.nio.ch.Net.connect(Net.java:482)
at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:588)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:339)
at java.base/java.net.Socket.connect(Socket.java:603)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:211)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:299)
... 18 more
Exception in thread "main" java.lang.NullPointerException
at com.ggl.bible.database.sql.SQL.createBibleTables(SQL.java:99)
at com.ggl.bible.database.BuildDatabase.processBible(BuildDatabase.java:31)
at com.ggl.bible.database.BuildDatabase.main(BuildDatabase.java:19)
Я знаю, что у меня проблема с подключением.
Я смотрел некоторые интерактивные руководства, такие как Подключение к экземпляру БД Запуск MySQL Database Engine , но я не понимаю что автор говорит мне.
Есть ли руководство для простых умов, подобных моему, которое даст мне пошаговые инструкции о том, как подключиться? Когда я говорю просто, я имею в виду:
- Go на веб-страницу ...
- Щелкните левой кнопкой мыши на ссылке, которая говорит ...
- Введите это в коробке рядом с ...
Спасибо за любую помощь, которую я могу получить.