Java rest service — как подключиться к бд (linux server)?
Добрый день! Сегодня столкнулась с такой проблемой: сервер не может подключиться к базе данных mysql.
Использую VPS под Ubuntu. Установила mysql, через панель phpmyadmin добавила базу данных.
Сервер собрала в jar, запустила на машине. Сервер работает, к базе данных не подключается.
В persistence.xml были указаны настройки, которые работали на домашнем компьютере jdbc:mysql://localhost:1433/databaseName
имя пользователя и пароль сменила на соответствующие. Пробовала менять localhost на ip сервера, порт на 3306.
Может, нужно грантовать ещё какие то права?
Не указали на чем сервер. Однако если дома работало, а на хостинге нет, то нет mysql драйверов. Либо положите его в нужное для вашего сервера место, либо укажате в настройках где оно лежит.
Axian Ltd.: нет, запускается видимо через apache, хотя использую я команду java -jar server.jar. Да и выводит в консоль примерно все то же, что на домашнем компе
Вы окончательно запутали вопрос. Ваш код для сервера приложений или самостоятельное приложение? В любом случае в комплекте java НЕТ jdbc драйверов. Их нужно всегда ставить самостоятельно.
Нужно как-то разделить задачу поиска проблемы на несколько и проверять составляющие.
1. Что значит "сервер не может подключиться к базе данных"? И при этом работает. Что-то пишет в лог?
2. На заданном порту сервер БД доступен? telnet localhost 1433 Если недоступен, то тут ищем разные варианты, типа что сервер вообще не запущен или что ожидает подключения на другом порту.
3. Если п.2 разрешили, присоединяемся к БД с помощью утилит командной строки, проверяем, что заданная БД существует, что существует пользователь и пароль используется верный.
4. и тд.
Он просто выводит что подключается, такой то хост, имя пользователя, пароль, и тишина. Такое же обычно было, когда указан неверный пароль.
Бд слушает на указанном порту, зайти в mysql получается через указанные имя пользователя и пароль.