programing

MariaDB JDBC 연결 문자열의 여러 마스터

elecom 2023. 8. 26. 10:28
반응형

MariaDB JDBC 연결 문자열의 여러 마스터

MySQL에는 MariaDB 5.5.38과 JDBC 드라이버를 사용하고 있습니다. 기사에 따르면 나는 다음과 같은 연결 문자열을 사용해야 합니다.

jdbc:mysql://address=(type=master)(host=master1host),address=(type=master)(host=master2host)/db

여러 마스터 호스트를 사용합니다.하지만 그것을 사용하면 나는 얻습니다.NullPointerExceptioncom.mysql.jdbc.NonRegisteringDriver.parseHostPortPair(NonRegisteringDriver.java:216) [mysql.mysql-connector-java-5.1.30.jar:na]Apache Commons의 연결 풀도 사용하지만 관련이 없는 것 같습니다.그럼, 내가 뭘 잘못하고 있는 거지?

문서에 대한 링크는 마스터/슬레이브 설정을 설명합니다.

멀티 마스터 설정을 원하는 경우 다음 URL을 사용할 수 있습니다.

jdbc:mysql:loadbalance://masterHost1,masterHost2/db

자세한 내용은 여기를 참조하십시오. 커넥터/J로 로드 밸런싱 구성

mysql-connector-j 소스 코드를 검색한 후 연결 URL에 접두사가 누락되어 NPE가 발생합니다.다음 중 하나여야 합니다.

jdbc:mysql:loadbalance//.....
jdbc:mysql:replication//.....

이 URL의 경우 //host:port, host:port/db가 있는 URL만 작동하고 첫 번째 하나만 마스터로 사용됩니다.

다른 확인할 것은 당신이 사용하고 있는 드라이버 클래스입니다.

이 질문에 따르면:JBoss 7 데이터 소스에 MySQL Replication Driver를 구성하려면 어떻게 해야 합니까?

올바른 수업은

com.mysql.jdbc.ReplicationDriver

저도 같은 문제가 있었고 다음을 발견했습니다: https://bugs.mysql.com/bug.php?id=75440

연결 URL을 다음으로 변경했습니다.

jdbc:mysql://address=(protocol=tcp)(type=master)(host=serv1),address=(protocol=tcp)(type=master)(host=serv2)/db

이것은 지금까지 저에게 효과가 있습니다.

언급URL : https://stackoverflow.com/questions/24612509/mariadb-multiple-masters-in-jdbc-connection-string

반응형