Клиент подключения Mariadb: Доступ запрещен для пользователя (используя пароль: НЕТ) на MySQL 8.0 - PullRequest
0 голосов
/ 14 января 2019

mariadb-java-client генерирует отказ в доступе на MySQL 8.0, но работает на MySQL 5.6 Поэтому мне интересно, совместим ли клиент mariadb с mysql 8.0

  1. в mysql, тестовые пользователи устанавливают ограничение на хосты машины =%

  2. даже протестировано на машине mysql 8.0, та же ошибка доступа запрещена.


Caused by: java.sql.SQLException: Access denied for user 'user1'@'192.168.238.1' (using password: NO)
Current charset is UTF-8. If password has been set using other charset, consider using option 'passwordCharacterEncoding'

    Connection connection = DriverManager.getConnection("jdbc:mariadb://192.168.0.2:3306/test", "user1", "admin@123");
    Statement stmt = connection.createStatement();
    stmt.executeUpdate("CREATE TABLE a (id int not null primary key, value varchar(20))");
    stmt.executeUpdate("DROP TABLE a");
    stmt.close();
    connection.close();

То же имя пользователя и пароль на MySQL 5.6 и 8.0

  1. Успешно: 'mariadb-java-client', версия: '2.3.0', mysql 5.6

  2. Ошибка: 'mariadb-java-client', версия: '2.3.0', mysql 8.0

  3. Успешно: 'mysql-connector-java', версия: '8.0.13', mysql 8.0 (jdbc: mysql: // ....)

1 Ответ

0 голосов
/ 15 января 2019

MySQL 8 использует caching_sha2_password вместо mysql_native_password с MySQL 5.7 (и MariaDB).

"caching_sha2_password, по состоянию на MySQL 8.0 предпочтительный плагин аутентификации, а также плагин аутентификации по умолчанию, а не mysql_native_password. Это изменение касается как сервера, так и клиентской библиотеки libmysqlclient:"

https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password

Java-коннектор MariaDB еще не реализовал это, но ему была назначена задача:

https://jira.mariadb.org/browse/CONJ-663

Чтобы подключиться к MySQL 8, вам потребуется использовать соединитель Oracle, другой соединитель, который поддерживает изменение, или дождаться реализации MariaDB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...