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
指定內(nèi)部查詢是否要被隔離,默認為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
指定空閑連接檢查、廢棄連接清理、空閑連接池大小調(diào)整之間的操作時間間隔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). 當使用內(nèi)嵌數(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é)省磁盤空間,但是調(diào)試會復雜寫,默認為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時等待事務結(jié)束的時間,超過則中斷,默認為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
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- 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配置方式
相關文章
IDEA配置Maven并版本統(tǒng)一管理的實現(xiàn)
本文主要介紹了IDEA配置Maven并版本統(tǒng)一管理的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09java 實現(xiàn)反射 json動態(tài)轉(zhuǎn)實體類--fastjson
這篇文章主要介紹了java 實現(xiàn)反射 json動態(tài)轉(zhuǎn)實體類--fastjson,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02SpringBoot整合ElasticSearch的示例代碼
本篇文章主要介紹了SpringBoot整合ElasticSearch的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09Java C++題解leetcode 1684統(tǒng)計一致字符串的數(shù)目示例
這篇文章主要為大家介紹了Java C++題解leetcode 1684統(tǒng)計一致字符串的數(shù)目示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01Java中的private、protected、public和default的區(qū)別(詳解)
下面小編就為大家?guī)硪黄狫ava中的private、protected、public和default的區(qū)別(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11