SpringBoot 응용 프로그램에서 application.yml
에 2 개의 다른 스키마/데이터베이스 이름을 가진 jdbc URL을 갖고 싶습니다.2 개의 다른 데이터베이스 이름을 가진 MySQL JDBC URL 페일 오버
나는 이것을 Reference Link에 따라 시험해 보았지만, 불행히도 나는이 일을 할 수 없었다.
jdbc:mysql://address=(type=master)(protocol=tcp)(host=IP1)(port=3306)(user=root)(password=root)/dbname1?failOverReadOnly=false,address=(type=master)(protocol=tcp)(host=IP2)(port=3306)(user=test)(password=test)/dbname2?failOverReadOnly=false
jdbc:mysql://address=(type=master)(protocol=tcp)(host=IP1)(port=3306)(user=root)(password=root)(dbname=dbname1)?failOverReadOnly=false,address=(type=master)(protocol=tcp)(host=IP2)(port=3306)(user=test)(password=test)(dbname=dbname2)?failOverReadOnly=false
오류는 MySQL 커넥터가 URL 연결 문자열을 구문 분석 할 수 없기 때문에 응용 프로그램을 시작하는 중입니다. false,address=(type=master)(protocol=tcp)(host=localhost)(port=3306)(user=test)(password=test)/dbname2?failOverReadOnly=false
대신 단순히 false
-failOverReadOnly
이으로한다 - 내가 생각
2017-02-21 11:37:40.724] log4j - 3060 ERROR [main] --- o.a.t.j.p.ConnectionPool: Unable to create initial connections of pool.
java.sql.SQLException: The connection property 'failOverReadOnly' only accepts values of the form: 'true', 'false', 'yes' or 'no'. The value 'false,address=(type=master)(protocol=tcp)(host=localhost)(port=3306)(user=test)(password=test)/dbname2?failOverReadOnly=false' is not in this set.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
당신이 오류가 발생 했습니까? –
서버를 시작하고 커넥터가 연결 URL을 구문 분석 할 때 오류가 발생합니다 –
붙여 넣은 코드와 일치하지 않는다는 오류 메시지가 표시됩니다. 코드에서 "user = root"라고 표시되고 오류는 "user = test"라고 표시됩니다 (다른 차이점 중에서). –