日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

使用url连接mysql时的属性_MySQL数据库连接属性配置,即URL后一些配置参数及其重要性...

發布時間:2025/4/16 数据库 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用url连接mysql时的属性_MySQL数据库连接属性配置,即URL后一些配置参数及其重要性... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在JDBC中,Connection類的創建方式有三種函數(不包括連接池)

一是:DriverManager.getConnection(String url),

二是:DriverManager.getConnection(String url,String user,String password);

三是:DriverManager.getConnection(String url,Properties info);

最簡單的jdbc連接配置如下:

dbc.driverClassName=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://(host=host_or_ip):(port=port)/db?key1=value1&key2=value2&key3=value3...keyN=valueN

jdbc.username=root

jdbc.password=password

說明:

MySQL 8.0后版本驅動類名稱為:"com.mysql.cj.jdbc.Driver"

如果用于配置JDBC URL的機制是基于XML來配置的,請使用XML字符文字&分隔配置參數,因為符號(&)是XML的保留字符。

本文特別說明jdbc.url后其一些列配置屬性的及其重要性;以下則為屬性及其描述(Properties and Descriptions),由于官方提供的屬性比較多, 在此我們主要列舉一下常用的即可,具體更多可自己去MySQL官網查看,歡迎大家補充更多常用的配置屬性。

連接/認證(Connection/Authentication.)

Properties

Descriptions

默認值(缺省值)

版本要求

注意事項

user

用于連接數據庫

所有版本

一般不用

password

用于連接數據庫

所有版本

一般不用

connectTimeout

和數據庫服務器建立socket連接時的超時設置,單位:毫秒。 0表示永不超時,適用于JDK 1.4及更高版本

0

3.0.1版本起

socketTimeout

網絡socket操作(讀寫)超時,單位:毫秒。 0表示永不超時 0

0

3.0.1版本起

高可用和集群(High Availability and Clustering.?)

Properties

Descriptions

默認值(缺省值)

版本要求

注意事項

autoReconnect

驅動程序是否應嘗試重新建立過時和/或死掉的連接?如果啟用,驅動程序將對在舊連接或死連接上發出的屬于當前事務的查詢引發異常,但將在新事務中對該連接發出的下一個查詢之前嘗試重新連接。不建議使用此功能,因為當應用程序不能正確處理SQLExceptions時,它會產生與會話狀態和數據一致性相關的副作用,并且僅當您無法將應用程序配置為正確處理因死掉和過時的連接而導致的SQLExceptions時才使用此功能?;蛘?#xff0c;作為最后一個選項,研究將mysql服務器變量“wait_timeout”設置為高值,而不是默認的8小時。

false

1.1版本起

依具體項目具體對待

autoReconnectForPools

使用適用于連接池的重新連接策略(默認為“false”)

false

3.1.3版本起

依具體項目具體對待

failOverReadOnly

在autoReconnect模式下進行故障轉移時,連接是否應設置為“只讀”?

true

3.0.12版本起

在使用數據庫連接池的情況下,且autoReconnect=true時最好設置該參數:failOverReadOnly=false

maxReconnects

如果autoReconnect為true,則嘗試重新連接的最大次數,默認為“3”。

3

1.1版本起

默認即可

initialTimeout

如果啟用了autoReconnect,則在重新連接嘗試之間等待的初始時間(以秒為單位,默認為“2”)。

2

1.1版本起

安全(Security.?)

Properties

Descriptions

默認值(缺省值)

版本要求

注意事項

useSSL

與服務器通信時使用ssl(true/false),連接到MySQL5.5.45+、5.6.26+或5.7.6+時默認為“true”,否則默認為“false”

false|true(5.5.45+、5.6.26+或5.7.6+)

3.0.2版本起

在5.5.45+、5.6.26+或5.7.6+版本中,如果不使用SSL連接就要在urL中設置useSSL=false;否則會拋異常: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.

雜(Miscellaneous.?)

Properties

Descriptions

默認值(缺省值)

版本要求

注意事項

useUnicode

驅動程序在處理字符串時是否應使用Unicode字符編碼?只應在驅動程序無法確定字符集映射時使用,或者您試圖“強制”驅動程序使用MySQL本身不支持的字符集(例如UTF-8、gb2312或gbk),true / false ,默認為'true'

true

1.1g版本起

必須設置為true,可能會導致中文數據亂碼問題

characterEncoding

如果'useUnicode'設置為true,那么驅動程序在處理字符串時應該使用什么字符編碼?(默認為'自動檢測')

自動檢測

1.1g版本起

當useUnicode設置為true時,指定字符編碼。比如可設置為UTF-8、gb2312或gbk

zeroDateTimeBehavior

當驅動程序遇到完全由零組成的日期時間值時(由MySQL用來表示無效日期),會發生什么?有效值為“exception”、“round”和“converttonull”。

exception

3.1.4版本起

一般設置為“converttonull”比較好,即轉換為null即可,否則會拋異常:Caused by: java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Timestamp

serverTimezone

覆蓋時區的檢測/映射。當服務器的時區未映射到Java時區時使用

3.0.2版本起

當數據庫時區未映射到Java時區時可能導致Java代碼中Date類型插入到mysql中datetime類型出現時間不一致的問題。例如:

上海:serverTimezone=Asia/Shanghai

簡寫:serverTimezone=CTT

北京:serverTimezone=UTC+8

或者:serverTimezone=GMT+8

關于時區UTC和GMT

到此結束, 更多常用屬性歡迎大家補充!!!

總結

以上是生活随笔為你收集整理的使用url连接mysql时的属性_MySQL数据库连接属性配置,即URL后一些配置参数及其重要性...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。