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

179
11 марта 2021, 14:50
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '%password%' WITH GRANT OPTION;

не помогло and others didnt help? i work with phpmyAdmin? help me(другие случаи не работают) когда была локальная базаданных, все работало нормально, вот ссылка

String connectionString = "jdbc:mysql://remotemysql.com:3306/f4xbGS7taF";
Answer 1

Судя по String connectionString = "jdbc:mysql://remotemysql.com:3306/f4xbGS7taF"; к БД вы подключаетесь не с локального хоста.

Для того, чтоб иметь возможность подключаться к БД удаленно, вам нужно:

  1. Включить прослушку порта 3306 не только на локальном хосте. Делается это в файле настройке mysql сервера. У меня например это в файле

nano /etc/mysql/mariadb.conf.d/50-server.cnf

...
bind-address            = 0.0.0.0
...

Замените 127.0.0.1 на 0.0.0.0 После этого перегрузите mysql сервер.

  1. Не надо разрешать даже самому доверенному приложению подключаться из под root. Вы все равно настраиваете подключение к БД, так создайте отдельного пользователя для этого.

Строчкой GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'... вы даете права для пользователя, подключающегося с localhost'а.

Сделайте так:

CREATE USER 'user'@'%' IDENTIFIED BY '%password%';
GRANT ALL PRIVILEGES ON yourdb.* TO 'user'@'%';
FLUSH PRIVILEGES;

jdbc:mysql://remotemysql.com:3306/yourdb

и у вас все заработает.

P.S. вместо 'user'@'%' можно указать IP вашего приложения, например 'user'@'192.168.0.1'

READ ALSO
Замена переменных

Замена переменных

Совсем новичок в Java, изучаю конструкторы и классыКак-бы встретилась проблема с выводом при "перезапуске" программы

89
Проверка первого символа строки

Проверка первого символа строки

Мне нужно вывести первый символ и проверить, чем он являетсяГде-то подсмотрел, что можно использовать str

117
Зацикленное нажатие по кнопке

Зацикленное нажатие по кнопке

Есть одна кнопка в вконтакте, как сделать её зацикленное нажатие с неким интервалом через Console в Ctrl+Shift+C? Раньше находил такой для добавления...

80
p5.js: Uncaught TypeError: dialog.createElement is not a function

p5.js: Uncaught TypeError: dialog.createElement is not a function

Всем доброго времени суток! Пилил я значит веб-страничку простенькую с использованием p5js

90