springboot配置mysql數(shù)據(jù)庫(kù)spring.datasource.url報(bào)錯(cuò)的解決
springboot配置mysql數(shù)據(jù)庫(kù)spring.datasource.url報(bào)錯(cuò)
spring.datasource.url=jdbc:mysql://abc:3306/abcd?useUnicode=true&characterEncoding=utf8
很常規(guī)地配置了這個(gè)mysql的url后發(fā)現(xiàn)報(bào)錯(cuò)
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這個(gè)屬性
然后試過(guò)useSSL=true
spring.datasource.url=jdbc:mysql://abc:3306/abcd?useUnicode=true&characterEncoding=utf8&useSSL=true
又報(bào)了一個(gè)錯(cuò)
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
沒(méi)有證書(shū)設(shè)置的話這里只能useSSL=false
最終這樣設(shè)置
spring.datasource.url=jdbc:mysql://abc:3306/abcd?useUnicode=true&characterEncoding=utf8&useSSL=false
springboot下datasource連接配置
基本設(shè)置
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 #驗(yàn)證連接的有效性 spring.datasource.secondary.test-while-idle=true #獲取連接時(shí)候驗(yàn)證,會(huì)影響性能 spring.datasource.secondary.test-on-borrow=false #在連接歸還到連接池時(shí)是否測(cè)試該連接 spring.datasource.secondary.test-on-return=false spring.datasource.secondary.validation-query=SELECT 1 FROM DUAL #空閑連接回收的時(shí)間間隔,與test-while-idle一起使用,設(shè)置5分鐘 spring.datasource.secondary.time-between-eviction-runs-millis=300000 #連接池空閑連接的有效時(shí)間 ,設(shè)置30分鐘 spring.datasource.secondary.min-evictable-idle-time-millis=1800000 spring.datasource.secondary.initial-size=5 #指定連接池中最大的活躍連接數(shù). spring.datasource.secondary.max-active=50 #指定連接池等待連接返回的最大等待時(shí)間,毫秒單位. spring.datasource.secondary.max-wait=60000 #指定必須保持連接的最小值 spring.datasource.secondary.min-idle=5
datasource
spring.dao.exceptiontranslation.enabled
是否開(kāi)啟PersistenceExceptionTranslationPostProcessor,默認(rèn)為truespring.datasource.abandon-when-percentage-full
設(shè)定超時(shí)被廢棄的連接占到多少比例時(shí)要被關(guān)閉或上報(bào)spring.datasource.allow-pool-suspension
使用Hikari pool時(shí),是否允許連接池暫停,默認(rèn)為: falsespring.datasource.alternate-username-allowed
是否允許替代的用戶名.spring.datasource.auto-commit
指定updates是否自動(dòng)提交.spring.datasource.catalog
指定默認(rèn)的catalog.spring.datasource.commit-on-return
設(shè)置當(dāng)連接被歸還時(shí),是否要提交所有還未完成的事務(wù)spring.datasource.connection-init-sql
指定連接被創(chuàng)建,再被添加到連接池之前執(zhí)行的sql.spring.datasource.connection-init-sqls
使用DBCP connection pool時(shí),指定初始化時(shí)要執(zhí)行的sqlspring.datasource.connection-properties.[key]
在使用DBCP connection pool時(shí)指定要配置的屬性spring.datasource.connection-test-query
指定校驗(yàn)連接合法性執(zhí)行的sql語(yǔ)句spring.datasource.connection-timeout
指定連接的超時(shí)時(shí)間,毫秒單位.spring.datasource.continue-on-error
在初始化數(shù)據(jù)庫(kù)時(shí),遇到錯(cuò)誤是否繼續(xù),默認(rèn)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時(shí),指定要設(shè)置的屬性spring.datasource.db-properties
使用Tomcat connection pool,指定要設(shè)置的屬性spring.datasource.default-auto-commit
是否自動(dòng)提交.spring.datasource.default-catalog
指定連接默認(rèn)的catalog.spring.datasource.default-read-only
是否設(shè)置默認(rèn)連接只讀.spring.datasource.default-transaction-isolation
指定連接的事務(wù)的默認(rèn)隔離級(jí)別.spring.datasource.driver-class-name
指定driver的類名,默認(rèn)從jdbc url中自動(dòng)探測(cè).spring.datasource.fair-queue
是否采用FIFO返回連接.spring.datasource.health-check-properties.[key]
使用Hikari connection pool時(shí),在心跳檢查時(shí)傳遞的屬性spring.datasource.idle-timeout
指定連接多久沒(méi)被使用時(shí),被設(shè)置為空閑,默認(rèn)為10msspring.datasource.ignore-exception-on-pre-load
當(dāng)初始化連接池時(shí),是否忽略異常.spring.datasource.init-sql
當(dāng)連接創(chuàng)建時(shí),執(zhí)行的sqlspring.datasource.initial-size
指定啟動(dòng)連接池時(shí),初始建立的連接數(shù)量spring.datasource.initialization-fail-fast
當(dāng)創(chuàng)建連接池時(shí),沒(méi)法創(chuàng)建指定最小連接數(shù)量是否拋異常spring.datasource.initialize
指定初始化數(shù)據(jù)源,是否用data.sql來(lái)初始化,默認(rèn): truespring.datasource.isolate-internal-queries
指定內(nèi)部查詢是否要被隔離,默認(rèn)為falsespring.datasource.jdbc-interceptors
使用Tomcat connection pool時(shí),指定jdbc攔截器,分號(hào)分隔spring.datasource.jdbc-url
指定JDBC URL.spring.datasource.jmx-enabled
是否開(kāi)啟JMX,默認(rèn)為: falsespring.datasource.jndi-name
指定jndi的名稱.spring.datasource.leak-detection-threshold
使用Hikari connection pool時(shí),多少毫秒檢測(cè)一次連接泄露.spring.datasource.log-abandoned
使用DBCP connection pool,是否追蹤廢棄statement或連接,默認(rèn)為: falsespring.datasource.log-validation-errors
當(dāng)使用Tomcat connection pool是否打印校驗(yàn)錯(cuò)誤.spring.datasource.login-timeout
指定連接數(shù)據(jù)庫(kù)的超時(shí)時(shí)間.spring.datasource.max-active
指定連接池中最大的活躍連接數(shù).spring.datasource.max-age
指定連接池中連接的最大年齡spring.datasource.max-idle
指定連接池最大的空閑連接數(shù)量.spring.datasource.max-lifetime
指定連接池中連接的最大生存時(shí)間,毫秒單位.spring.datasource.max-open-prepared-statements
指定最大的打開(kāi)的prepared statements數(shù)量.spring.datasource.max-wait
指定連接池等待連接返回的最大等待時(shí)間,毫秒單位.spring.datasource.maximum-pool-size
指定連接池最大的連接數(shù),包括使用中的和空閑的連接.spring.datasource.min-evictable-idle-time-millis
指定一個(gè)空閑連接最少空閑多久后可被清除.spring.datasource.min-idle
指定必須保持連接的最小值(For DBCP and Tomcat connection pools)spring.datasource.minimum-idle
指定連接維護(hù)的最小空閑連接數(shù),當(dāng)使用HikariCP時(shí)指定.spring.datasource.name
指定數(shù)據(jù)源名.spring.datasource.num-tests-per-eviction-run
指定運(yùn)行每個(gè)idle object evictor線程時(shí)的對(duì)象數(shù)量spring.datasource.password
指定數(shù)據(jù)庫(kù)密碼.spring.datasource.platform
指定schema要使用的Platform(schema-${platform}.sql),默認(rèn)為:allspring.datasource.pool-name
指定連接池名字.spring.datasource.pool-prepared-statements
指定是否池化statements.spring.datasource.propagate-interrupt-state
在等待連接時(shí),如果線程被中斷,是否傳播中斷狀態(tài).spring.datasource.read-only
當(dāng)使用Hikari connection pool時(shí),是否標(biāo)記數(shù)據(jù)源只讀spring.datasource.register-mbeans
指定Hikari connection pool是否注冊(cè)JMX MBeans.spring.datasource.remove-abandoned
指定當(dāng)連接超過(guò)廢棄超時(shí)時(shí)間時(shí),是否立刻刪除該連接.spring.datasource.remove-abandoned-timeout
指定連接應(yīng)該被廢棄的時(shí)間.spring.datasource.rollback-on-return
在歸還連接時(shí),是否回滾等待中的事務(wù).spring.datasource.schema
指定Schema (DDL)腳本.spring.datasource.separator
指定初始化腳本的語(yǔ)句分隔符,默認(rèn): ;spring.datasource.sql-script-encoding
指定SQL scripts編碼.spring.datasource.suspect-timeout
指定打印廢棄連接前的超時(shí)時(shí)間.spring.datasource.test-on-borrow
當(dāng)從連接池借用連接時(shí),是否測(cè)試該連接.spring.datasource.test-on-connect
創(chuàng)建時(shí),是否測(cè)試連接spring.datasource.test-on-return
在連接歸還到連接池時(shí)是否測(cè)試該連接.spring.datasource.test-while-idle
當(dāng)連接空閑時(shí),是否執(zhí)行連接測(cè)試.spring.datasource.time-between-eviction-runs-millis
指定空閑連接檢查、廢棄連接清理、空閑連接池大小調(diào)整之間的操作時(shí)間間隔spring.datasource.transaction-isolation
指定事務(wù)隔離級(jí)別,使用Hikari connection pool時(shí)指定spring.datasource.url
指定JDBC URL.spring.datasource.use-disposable-connection-facade
是否對(duì)連接進(jìn)行包裝,防止連接關(guān)閉之后被使用.spring.datasource.use-equals
比較方法名時(shí)是否使用String.equals()替換==.spring.datasource.use-lock
是否對(duì)連接操作加鎖spring.datasource.username
指定數(shù)據(jù)庫(kù)名.spring.datasource.validation-interval
指定多少ms執(zhí)行一次連接校驗(yàn).spring.datasource.validation-query
指定獲取連接時(shí)連接校驗(yàn)的sql查詢語(yǔ)句.spring.datasource.validation-query-timeout
指定連接校驗(yàn)查詢的超時(shí)時(shí)間.spring.datasource.validation-timeout
設(shè)定連接校驗(yàn)的超時(shí)時(shí)間,當(dāng)使用Hikari connection pool時(shí)指定spring.datasource.validator-class-name
用來(lái)測(cè)試查詢的validator全限定名.spring.datasource.xa.data-source-class-name
指定數(shù)據(jù)源的全限定名.spring.datasource.xa.properties
指定傳遞給XA data source的屬性
JPA
spring.jpa.database
指定目標(biāo)數(shù)據(jù)庫(kù).spring.jpa.database-platform
指定目標(biāo)數(shù)據(jù)庫(kù)的類型.spring.jpa.generate-ddl
是否在啟動(dòng)時(shí)初始化schema,默認(rèn)為falsespring.jpa.hibernate.ddl-auto
指定DDL mode (none, validate, update, create, create-drop). 當(dāng)使用內(nèi)嵌數(shù)據(jù)庫(kù)時(shí),默認(rèn)是create-drop,否則為none.spring.jpa.hibernate.naming-strategy
指定命名策略.spring.jpa.open-in-view
是否注冊(cè)O(shè)penEntityManagerInViewInterceptor,綁定JPAEntityManager到請(qǐng)求線程中,默認(rèn)為: truespring.jpa.properties
添加額外的屬性到JPA provider.spring.jpa.show-sql
是否開(kāi)啟sql的log,默認(rèn)為: false
jooq
spring.jooq.sql-dialect
指定JOOQ使用的SQLDialect,比如POSTGRES.
h2
spring.h2.console.enabled
是否開(kāi)啟控制臺(tái),默認(rèn)為falsespring.h2.console.path
指定控制臺(tái)路徑,默認(rèn)為: /h2-console
JTA
spring.jta.allow-multiple-lrc
是否允許 multiple LRC,默認(rèn)為: falsespring.jta.asynchronous2-pc
指定兩階段提交是否可以異步,默認(rèn)為: falsespring.jta.background-recovery-interval
指定多少分鐘跑一次recovery process,默認(rèn)為: 1spring.jta.background-recovery-interval-seconds
指定多久跑一次recoveryprocess,默認(rèn): 60spring.jta.current-node-only-recovery
是否過(guò)濾掉其他非本JVM的recovery,默認(rèn)為: truespring.jta.debug-zero-resource-transaction
是否追蹤沒(méi)有使用指定資源的事務(wù),默認(rèn)為: falsespring.jta.default-transaction-timeout
設(shè)定默認(rèn)的事務(wù)超時(shí)時(shí)間,默認(rèn)為60spring.jta.disable-jmx
是否禁用jmx,默認(rèn)為falsespring.jta.enabled
是否開(kāi)啟JTA support,默認(rèn)為: truespring.jta.exception-analyzer
設(shè)置指定的異常分析類spring.jta.filter-log-status
使用Bitronix Transaction Manager時(shí),是否寫(xiě)mandatory logs,開(kāi)啟的話,可以節(jié)省磁盤(pán)空間,但是調(diào)試會(huì)復(fù)雜寫(xiě),默認(rèn)為falsespring.jta.force-batching-enabled
使用Bitronix Transaction Manager時(shí),是否批量寫(xiě)磁盤(pán),默認(rèn)為true.spring.jta.forced-write-enabled
使用Bitronix Transaction Manager時(shí),是否強(qiáng)制寫(xiě)日志到磁盤(pán),默認(rèn)為truespring.jta.graceful-shutdown-interval
當(dāng)使用Bitronix Transaction Manager,指定shutdown時(shí)等待事務(wù)結(jié)束的時(shí)間,超過(guò)則中斷,默認(rèn)為60spring.jta.jndi-transaction-synchronization-registry-name
當(dāng)使用BitronixTransaction Manager
時(shí),在JNDI下得事務(wù)同步registry,默認(rèn)為:java:comp/TransactionSynchronizationRegistryspring.jta.jndi-user-transaction-name
指定在JNDI使用Bitronix Transaction Manager的名稱,默認(rèn):java:comp/UserTransactionspring.jta.journal
當(dāng)使用Bitronix Transaction Manager,指定The journal是否disk還是null還是一個(gè)類的全限定名,默認(rèn)diskspring.jta.log-dirTransaction logs directory
.spring.jta.log-part1-filename
指定The journal fragment文件1的名字,默認(rèn): btm1.tlogspring.jta.log-part2-filename
指定The journal fragment文件2的名字,默認(rèn): btm2.tlogspring.jta.max-log-size-in-mb
指定journal fragments大小的最大值. 默認(rèn): 2Mspring.jta.resource-configuration-filename
指定Bitronix Transaction Manager配置文件名.spring.jta.server-id
指定Bitronix Transaction Manager實(shí)例的id.spring.jta.skip-corrupted-logs
是否忽略corrupted log files文件,默認(rèn)為false.spring.jta.transaction-manager-id
指定Transaction manager的唯一標(biāo)識(shí).jta.warn-about-zero-resource-transaction
當(dāng)使用Bitronix Transaction Manager時(shí),是否對(duì)沒(méi)有使用指定資源的事務(wù)進(jìn)行警告,默認(rèn)為: true
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- SpringBoot?DataSource數(shù)據(jù)源實(shí)現(xiàn)自動(dòng)配置流程詳解
- SpringBoot Test 多線程報(bào)錯(cuò)的根本原因(dataSource already closed)
- SpringBoot基于AbstractRoutingDataSource實(shí)現(xiàn)多數(shù)據(jù)源動(dòng)態(tài)切換
- springboot集成mybatis?plus和dynamic-datasource注意事項(xiàng)說(shuō)明
- springboot+dynamicDataSource動(dòng)態(tài)添加切換數(shù)據(jù)源方式
- SpringBoot數(shù)據(jù)庫(kù)初始化datasource配置方式
相關(guān)文章
IDEA配置Maven并版本統(tǒng)一管理的實(shí)現(xiàn)
本文主要介紹了IDEA配置Maven并版本統(tǒng)一管理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09java 實(shí)現(xiàn)反射 json動(dòng)態(tài)轉(zhuǎn)實(shí)體類--fastjson
這篇文章主要介紹了java 實(shí)現(xiàn)反射 json動(dòng)態(tài)轉(zhuǎn)實(shí)體類--fastjson,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02SpringBoot整合ElasticSearch的示例代碼
本篇文章主要介紹了SpringBoot整合ElasticSearch的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09Java C++題解leetcode 1684統(tǒng)計(jì)一致字符串的數(shù)目示例
這篇文章主要為大家介紹了Java C++題解leetcode 1684統(tǒng)計(jì)一致字符串的數(shù)目示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01Java中的private、protected、public和default的區(qū)別(詳解)
下面小編就為大家?guī)?lái)一篇Java中的private、protected、public和default的區(qū)別(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-11-11