springboot配置mysql數(shù)據(jù)庫spring.datasource.url報錯的解決
springboot配置mysql數(shù)據(jù)庫spring.datasource.url報錯
spring.datasource.url=jdbc:mysql://abc:3306/abcd?useUnicode=true&characterEncoding=utf8
很常規(guī)地配置了這個mysql的url后發(fā)現(xiàn)報錯
Wed Oct 24 14:59:16 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
根據(jù)介紹,這里需要在URL那指定useSSL這個屬性
然后試過useSSL=true
spring.datasource.url=jdbc:mysql://abc:3306/abcd?useUnicode=true&characterEncoding=utf8&useSSL=true
又報了一個錯
Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
at com.mysql.jdbc.ExportControlled$X509TrustManagerWrapper.checkServerTrusted(ExportControlled.java:302)
at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:984)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496)
... 31 common frames omitted
Caused by: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:153)
at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:79)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)
at com.mysql.jdbc.ExportControlled$X509TrustManagerWrapper.checkServerTrusted(ExportControlled.java:295)
... 33 common frames omitted
沒有證書設置的話這里只能useSSL=false
最終這樣設置
spring.datasource.url=jdbc:mysql://abc:3306/abcd?useUnicode=true&characterEncoding=utf8&useSSL=false
springboot下datasource連接配置
基本設置
spring.datasource.secondary.url=jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8 spring.datasource.secondary.username=test spring.datasource.secondary.password=123456 spring.datasource.secondary.driver-class-name=com.mysql.jdbc.Driver #驗證連接的有效性 spring.datasource.secondary.test-while-idle=true #獲取連接時候驗證,會影響性能 spring.datasource.secondary.test-on-borrow=false #在連接歸還到連接池時是否測試該連接 spring.datasource.secondary.test-on-return=false spring.datasource.secondary.validation-query=SELECT 1 FROM DUAL #空閑連接回收的時間間隔,與test-while-idle一起使用,設置5分鐘 spring.datasource.secondary.time-between-eviction-runs-millis=300000 #連接池空閑連接的有效時間 ,設置30分鐘 spring.datasource.secondary.min-evictable-idle-time-millis=1800000 spring.datasource.secondary.initial-size=5 #指定連接池中最大的活躍連接數(shù). spring.datasource.secondary.max-active=50 #指定連接池等待連接返回的最大等待時間,毫秒單位. spring.datasource.secondary.max-wait=60000 #指定必須保持連接的最小值 spring.datasource.secondary.min-idle=5
datasource
spring.dao.exceptiontranslation.enabled是否開啟PersistenceExceptionTranslationPostProcessor,默認為truespring.datasource.abandon-when-percentage-full設定超時被廢棄的連接占到多少比例時要被關閉或上報spring.datasource.allow-pool-suspension使用Hikari pool時,是否允許連接池暫停,默認為: falsespring.datasource.alternate-username-allowed是否允許替代的用戶名.spring.datasource.auto-commit指定updates是否自動提交.spring.datasource.catalog指定默認的catalog.spring.datasource.commit-on-return設置當連接被歸還時,是否要提交所有還未完成的事務spring.datasource.connection-init-sql指定連接被創(chuàng)建,再被添加到連接池之前執(zhí)行的sql.spring.datasource.connection-init-sqls使用DBCP connection pool時,指定初始化時要執(zhí)行的sqlspring.datasource.connection-properties.[key]在使用DBCP connection pool時指定要配置的屬性spring.datasource.connection-test-query指定校驗連接合法性執(zhí)行的sql語句spring.datasource.connection-timeout指定連接的超時時間,毫秒單位.spring.datasource.continue-on-error在初始化數(shù)據(jù)庫時,遇到錯誤是否繼續(xù),默認falsespring.datasource.data指定Data (DML)腳本spring.datasource.data-source-class-name指定數(shù)據(jù)源的全限定名.spring.datasource.data-source-jndi指定jndi的地址spring.datasource.data-source-properties.[key]使用Hikari connection pool時,指定要設置的屬性spring.datasource.db-properties使用Tomcat connection pool,指定要設置的屬性spring.datasource.default-auto-commit是否自動提交.spring.datasource.default-catalog指定連接默認的catalog.spring.datasource.default-read-only是否設置默認連接只讀.spring.datasource.default-transaction-isolation指定連接的事務的默認隔離級別.spring.datasource.driver-class-name指定driver的類名,默認從jdbc url中自動探測.spring.datasource.fair-queue是否采用FIFO返回連接.spring.datasource.health-check-properties.[key]使用Hikari connection pool時,在心跳檢查時傳遞的屬性spring.datasource.idle-timeout指定連接多久沒被使用時,被設置為空閑,默認為10msspring.datasource.ignore-exception-on-pre-load當初始化連接池時,是否忽略異常.spring.datasource.init-sql當連接創(chuàng)建時,執(zhí)行的sqlspring.datasource.initial-size指定啟動連接池時,初始建立的連接數(shù)量spring.datasource.initialization-fail-fast當創(chuàng)建連接池時,沒法創(chuàng)建指定最小連接數(shù)量是否拋異常spring.datasource.initialize指定初始化數(shù)據(jù)源,是否用data.sql來初始化,默認: truespring.datasource.isolate-internal-queries指定內部查詢是否要被隔離,默認為falsespring.datasource.jdbc-interceptors使用Tomcat connection pool時,指定jdbc攔截器,分號分隔spring.datasource.jdbc-url指定JDBC URL.spring.datasource.jmx-enabled是否開啟JMX,默認為: falsespring.datasource.jndi-name指定jndi的名稱.spring.datasource.leak-detection-threshold使用Hikari connection pool時,多少毫秒檢測一次連接泄露.spring.datasource.log-abandoned使用DBCP connection pool,是否追蹤廢棄statement或連接,默認為: falsespring.datasource.log-validation-errors當使用Tomcat connection pool是否打印校驗錯誤.spring.datasource.login-timeout指定連接數(shù)據(jù)庫的超時時間.spring.datasource.max-active指定連接池中最大的活躍連接數(shù).spring.datasource.max-age指定連接池中連接的最大年齡spring.datasource.max-idle指定連接池最大的空閑連接數(shù)量.spring.datasource.max-lifetime指定連接池中連接的最大生存時間,毫秒單位.spring.datasource.max-open-prepared-statements指定最大的打開的prepared statements數(shù)量.spring.datasource.max-wait指定連接池等待連接返回的最大等待時間,毫秒單位.spring.datasource.maximum-pool-size指定連接池最大的連接數(shù),包括使用中的和空閑的連接.spring.datasource.min-evictable-idle-time-millis指定一個空閑連接最少空閑多久后可被清除.spring.datasource.min-idle指定必須保持連接的最小值(For DBCP and Tomcat connection pools)spring.datasource.minimum-idle指定連接維護的最小空閑連接數(shù),當使用HikariCP時指定.spring.datasource.name指定數(shù)據(jù)源名.spring.datasource.num-tests-per-eviction-run指定運行每個idle object evictor線程時的對象數(shù)量spring.datasource.password指定數(shù)據(jù)庫密碼.spring.datasource.platform指定schema要使用的Platform(schema-${platform}.sql),默認為:allspring.datasource.pool-name指定連接池名字.spring.datasource.pool-prepared-statements指定是否池化statements.spring.datasource.propagate-interrupt-state在等待連接時,如果線程被中斷,是否傳播中斷狀態(tài).spring.datasource.read-only當使用Hikari connection pool時,是否標記數(shù)據(jù)源只讀spring.datasource.register-mbeans指定Hikari connection pool是否注冊JMX MBeans.spring.datasource.remove-abandoned指定當連接超過廢棄超時時間時,是否立刻刪除該連接.spring.datasource.remove-abandoned-timeout指定連接應該被廢棄的時間.spring.datasource.rollback-on-return在歸還連接時,是否回滾等待中的事務.spring.datasource.schema指定Schema (DDL)腳本.spring.datasource.separator指定初始化腳本的語句分隔符,默認: ;spring.datasource.sql-script-encoding指定SQL scripts編碼.spring.datasource.suspect-timeout指定打印廢棄連接前的超時時間.spring.datasource.test-on-borrow當從連接池借用連接時,是否測試該連接.spring.datasource.test-on-connect創(chuàng)建時,是否測試連接spring.datasource.test-on-return在連接歸還到連接池時是否測試該連接.spring.datasource.test-while-idle當連接空閑時,是否執(zhí)行連接測試.spring.datasource.time-between-eviction-runs-millis指定空閑連接檢查、廢棄連接清理、空閑連接池大小調整之間的操作時間間隔spring.datasource.transaction-isolation指定事務隔離級別,使用Hikari connection pool時指定spring.datasource.url指定JDBC URL.spring.datasource.use-disposable-connection-facade是否對連接進行包裝,防止連接關閉之后被使用.spring.datasource.use-equals比較方法名時是否使用String.equals()替換==.spring.datasource.use-lock是否對連接操作加鎖spring.datasource.username指定數(shù)據(jù)庫名.spring.datasource.validation-interval指定多少ms執(zhí)行一次連接校驗.spring.datasource.validation-query指定獲取連接時連接校驗的sql查詢語句.spring.datasource.validation-query-timeout指定連接校驗查詢的超時時間.spring.datasource.validation-timeout設定連接校驗的超時時間,當使用Hikari connection pool時指定spring.datasource.validator-class-name用來測試查詢的validator全限定名.spring.datasource.xa.data-source-class-name指定數(shù)據(jù)源的全限定名.spring.datasource.xa.properties指定傳遞給XA data source的屬性
JPA
spring.jpa.database指定目標數(shù)據(jù)庫.spring.jpa.database-platform指定目標數(shù)據(jù)庫的類型.spring.jpa.generate-ddl是否在啟動時初始化schema,默認為falsespring.jpa.hibernate.ddl-auto指定DDL mode (none, validate, update, create, create-drop). 當使用內嵌數(shù)據(jù)庫時,默認是create-drop,否則為none.spring.jpa.hibernate.naming-strategy指定命名策略.spring.jpa.open-in-view是否注冊OpenEntityManagerInViewInterceptor,綁定JPAEntityManager到請求線程中,默認為: truespring.jpa.properties添加額外的屬性到JPA provider.spring.jpa.show-sql是否開啟sql的log,默認為: false
jooq
spring.jooq.sql-dialect指定JOOQ使用的SQLDialect,比如POSTGRES.
h2
spring.h2.console.enabled是否開啟控制臺,默認為falsespring.h2.console.path指定控制臺路徑,默認為: /h2-console
JTA
spring.jta.allow-multiple-lrc是否允許 multiple LRC,默認為: falsespring.jta.asynchronous2-pc指定兩階段提交是否可以異步,默認為: falsespring.jta.background-recovery-interval指定多少分鐘跑一次recovery process,默認為: 1spring.jta.background-recovery-interval-seconds指定多久跑一次recoveryprocess,默認: 60spring.jta.current-node-only-recovery是否過濾掉其他非本JVM的recovery,默認為: truespring.jta.debug-zero-resource-transaction是否追蹤沒有使用指定資源的事務,默認為: falsespring.jta.default-transaction-timeout設定默認的事務超時時間,默認為60spring.jta.disable-jmx是否禁用jmx,默認為falsespring.jta.enabled是否開啟JTA support,默認為: truespring.jta.exception-analyzer設置指定的異常分析類spring.jta.filter-log-status使用Bitronix Transaction Manager時,是否寫mandatory logs,開啟的話,可以節(jié)省磁盤空間,但是調試會復雜寫,默認為falsespring.jta.force-batching-enabled使用Bitronix Transaction Manager時,是否批量寫磁盤,默認為true.spring.jta.forced-write-enabled使用Bitronix Transaction Manager時,是否強制寫日志到磁盤,默認為truespring.jta.graceful-shutdown-interval當使用Bitronix Transaction Manager,指定shutdown時等待事務結束的時間,超過則中斷,默認為60spring.jta.jndi-transaction-synchronization-registry-name當使用BitronixTransaction Manager時,在JNDI下得事務同步registry,默認為:java:comp/TransactionSynchronizationRegistryspring.jta.jndi-user-transaction-name指定在JNDI使用Bitronix Transaction Manager的名稱,默認:java:comp/UserTransactionspring.jta.journal當使用Bitronix Transaction Manager,指定The journal是否disk還是null還是一個類的全限定名,默認diskspring.jta.log-dirTransaction logs directory.spring.jta.log-part1-filename指定The journal fragment文件1的名字,默認: btm1.tlogspring.jta.log-part2-filename指定The journal fragment文件2的名字,默認: btm2.tlogspring.jta.max-log-size-in-mb指定journal fragments大小的最大值. 默認: 2Mspring.jta.resource-configuration-filename指定Bitronix Transaction Manager配置文件名.spring.jta.server-id指定Bitronix Transaction Manager實例的id.spring.jta.skip-corrupted-logs是否忽略corrupted log files文件,默認為false.spring.jta.transaction-manager-id指定Transaction manager的唯一標識.jta.warn-about-zero-resource-transaction當使用Bitronix Transaction Manager時,是否對沒有使用指定資源的事務進行警告,默認為: true
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- SpringBoot?DataSource數(shù)據(jù)源實現(xiàn)自動配置流程詳解
- SpringBoot Test 多線程報錯的根本原因(dataSource already closed)
- SpringBoot基于AbstractRoutingDataSource實現(xiàn)多數(shù)據(jù)源動態(tài)切換
- springboot集成mybatis?plus和dynamic-datasource注意事項說明
- springboot+dynamicDataSource動態(tài)添加切換數(shù)據(jù)源方式
- SpringBoot數(shù)據(jù)庫初始化datasource配置方式
相關文章
SpringBoot讀取properties中文亂碼解決方案
本文主要介紹了在Spring?Boot中讀取帶有中文字符串的application.properties文件時遇到亂碼問題的解決方案,具有一定的參考價值,感興趣的可以了解一下2024-12-12
Java實現(xiàn)后臺發(fā)送及接收json數(shù)據(jù)的方法示例
這篇文章主要介紹了Java實現(xiàn)后臺發(fā)送及接收json數(shù)據(jù)的方法,結合實例形式分析了java針對json格式數(shù)據(jù)的傳輸與操作相關技巧,需要的朋友可以參考下2018-12-12
Mybatis在注解上如何實現(xiàn)動態(tài)SQL
這篇文章主要介紹了Mybatis在注解上如何實現(xiàn)動態(tài)SQL,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
MyBatis在注解上使用動態(tài)SQL方式(@select使用if)
這篇文章主要介紹了MyBatis在注解上使用動態(tài)SQL方式(@select使用if),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
Spring?MVC?前端控制器?(DispatcherServlet)處理流程解析
DispatcherServlet是前置控制器,配置在web.xml文件中的,這篇文章主要介紹了Spring?MVC?前端控制器?(DispatcherServlet)處理流程,需要的朋友可以參考下2022-05-05
java多線程CyclicBarrier的使用案例,讓線程起步走
這篇文章主要介紹了java多線程CyclicBarrier的使用案例,讓線程起步走!具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02
MySQL 新增字段但 Java 實體未更新存在潛在問題與解決方案
在 Java + MySQL 的開發(fā)中,我們通常使用 ORM 框架(如 MyBatis、MyBatis-Plus、Hibernate)來映射數(shù)據(jù)庫表與 Java 對象,這篇文章主要介紹了MySQL 新增字段但 Java 實體未更新:潛在問題與解決方案,需要的朋友可以參考下2025-04-04

