Mariadb 연결 클라이언트:mysql 8.0에서 사용자(암호: NO 사용)에 대한 액세스가 거부되었습니다.
mariadb-java-client는 mysql 8.0에서는 액세스가 거부되지만 mysql 5.6에서는 동작하기 때문에 mariadb 클라이언트가 mysql 8.0과 호환성이 있는지 궁금합니다.
mysql에서 테스트 사용자는 호스트 시스템 = %로 제한됩니다.
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에서 동일한 사용자 이름과 비밀번호
성공: 'mariadb-java-client', 버전: '2.3.0', mysql 5.6
실패: 'mariadb-java-client', 버전: '2.3.0', mysql 8.0
성공: 'mysql-connector-java', 버전: '8.0.13' mysql 8.0 (jdbc:mysql://....)
MySQL 8은 MySQL 5.7(및 MariaDB)에서 mysql_native_password 대신 caching_sha2_password를 사용합니다.
"caching_sha2_password는 MySQL 8.0에서 권장되는 인증 플러그인이며 mysql_native_password가 아닌 기본 인증 플러그인입니다.이 변경은 서버와 libmysqlclient 클라이언트라이브러리 양쪽에 영향을 줍니다.
MariaDB의 Java Connector는 아직 이를 구현하지 않았지만 다음과 같은 작업이 할당되어 있습니다.
https://jira.mariadb.org/browse/CONJ-663
MySQL 8에 연결하려면 Oracle 커넥터 또는 변경을 지원하는 다른 커넥터를 사용하거나 MariaDB가 구현될 때까지 기다려야 합니다.
언급URL : https://stackoverflow.com/questions/54188309/mariadb-connection-client-access-denied-for-user-using-password-no-on-mysql
'source' 카테고리의 다른 글
| HTML 파일을 PDF로 변환 (0) | 2022.09.08 |
|---|---|
| 왜 사람들은 json 응답 앞에 "1; " 및 "for(;;)"와 같은 코드를 넣을까요? (0) | 2022.09.08 |
| JavaScript 체크박스를 켜거나 끄다 (0) | 2022.09.08 |
| 크롬 및 파이어폭스의 Javascript에서 Cryptic "스크립트 오류"가 보고됨 (0) | 2022.09.08 |
| 스파크 오류 - 지원되지 않는 클래스 파일의 줄자 버전 (0) | 2022.09.08 |