- SpringBoot中MySQL连接字符串配置样例:
spring:
datasource:
url: jdbc:mysql://localhost:3306/<database_name>?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC&characterEncoding=UTF-8
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
- MySQL连接字符串后面可携带的参数包括:
useUnicode
,characterEncoding
,autoReconnect
,failOverReadOnly
,maxReconnects
,socketTimeout
,connectTimeout
,useCompression
,useSSL
,requireSSL
,verifyServerCertificate
,useLegacyDatetimeCode
,serverTimezone
,useJDBCCompliantTimezoneShift
,useGmtMillisForDatetimes
,dumpQueriesOnException
,emulateUnsupportedPstmts
,allowMultiQueries
,poolName
, 等等。
以下是完整的MySQL连接字符串示例:文章来源:https://www.toymoban.com/news/detail-469009.html
jdbc:mysql://<host>:<port>/<database_name>?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&maxReconnects=<number>&socketTimeout=<ms>&connectTimeout=<ms>&useCompression=true/false&useSSL=true/false&requireSSL=true/false&verifyServerCertificate=true/false&useLegacyDatetimeCode=true/false&serverTimezone=<timezone>&useJDBCCompliantTimezoneShift=true/false&useGmtMillisForDatetimes=true/false&dumpQueriesOnException=true/false&emulateUnsupportedPstmts=true/false&allowMultiQueries=true/false&poolName=<pool_name>
- 下表详细解释了MySQL连接字符串后面各个参数的用途和注意事项:
参数 | 值 | 用途 | 注意事项 |
---|---|---|---|
useUnicode |
true /false
|
指定是否使用 Unicode 字符集。 | 如果不设置或设置为 false,可能会导致插入和查询出现乱码。 |
characterEncoding |
utf8 /gbk 等 |
指定字符编码集。 | 可以根据具体情况选择合适的字符编码集。 |
autoReconnect |
true /false
|
是否自动重新连接。 | 如果设置为 true,可能会导致系统负载过大。 |
failOverReadOnly |
true /false
|
当连接指向主数据库时,如果主数据库失效,是否切换到从数据库。 | 主数据库故障时才使用,一般没必要设置。 |
maxReconnects |
整数 | 设置尝试重新连接的最大次数。 | 连接失败后将重新尝试连接。 |
socketTimeout |
毫秒数 | 套接字超时时间。 | 如果套接字超时,则连接被视为失败。 |
connectTimeout |
毫秒数 | 连接超时时间。 | 如果连接超过此时间,则连接被视为失败。 |
useCompression |
true /false
|
是否启用压缩。 | 该参数可提高数据传输效率。 |
useSSL |
true /false
|
是否启用 SSL 连接。 | 如果数据库本身不支持 SSL 连接,则该参数设置为 true 会导致连接失败。 |
requireSSL |
true /false
|
是否要求使用 SSL 连接。 | 只接受 SSL 连接。 |
verifyServerCertificate |
true /false
|
是否验证服务器证书。 | 默认情况下,MySQL 不验证服务器证书。 |
useLegacyDatetimeCode |
true /false
|
是否使用旧版日期时间代码。 | 如果设置为 true,将使用旧版的 MySQL 日期时间代码。 |
serverTimezone |
UTC /GMT+8 等 |
指定时区。 | 时区的设置应该与服务器所在时区相同,否则可能会影响时间戳等操作。 |
useJDBCCompliantTimezoneShift |
true /false
|
是否将 Java 时间转换为 JDBC 规范的时间格式。 | 如果设置为 true,则将使用 JDBC 规范的时间格式。如果设置为 false,则将使用 MySQL 特定的时间格式。 |
useGmtMillisForDatetimes |
true /false
|
是否使用 GMT 毫秒数作为日期时间值。 | 如果设置为 true,则将使用 GMT 毫秒数作为日期时间值。如果设置为 false,则将使用本地时区的绝对毫秒数。 |
dumpQueriesOnException |
true /false
|
是否在异常时打印 SQL 查询语句。 | 只有在调试期间才需要设置为 true。默认情况下,不会打印 SQL 查询语句。 |
emulateUnsupportedPstmts |
true /false
|
是否模拟不支持预处理语句的情况。 | 如果设置为 true,则将模拟不支持预处理语句的情况。如果设置为 false,则会尝试使用预处理语句。 |
allowMultiQueries |
true /false
|
是否允许一次执行多个查询。 | 只有在特定的情况下才需要启用此选项。否则会增加安全风险。 |
poolName |
字符串 | 连接池的名称。 | 如果使用连接池,则需要为连接池指定一个名称。 |
注意:以上参数并非全部可用,具体应根据实际情况选择合适的参数和值。文章来源地址https://www.toymoban.com/news/detail-469009.html
到了这里,关于SpringBoot中MySQL连接字符串配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!