数据库 URL 是字符串。
完整的 URL 语法如下:
jdbc:oceanbase:driver_type:[username/password]@database_specifier
URL 的第一部分 driver_type
指定要使用的 JDBC 驱动程序。URL 的其余部分包含一个可选的用户名和密码,由一个斜杠,一个 @
和数据库说明符分隔,用于唯一标识应用程序所连接的数据库。
本节主要介绍 OceanBase Connector/J 可选的 URL 参数。
supportLobLocator
lOB Locator 开关。
默认值:true
。
useObChecksum
Checksum 开关,是 OceanBase 2.0 协议的一个配置。
默认值:true
。
useOceanBaseProtocolV20
是否使用 OceanBase Protocol 2.0。
默认值:false
。
complexDataCacheSize
ComplexData Cache 的大小。
默认值:50。
cacheComplexData
是否缓存 ComplexData
。
默认值:true
。
useSqlStringCache
是否将 SQLString 混存在客户端。
默认值:false
。
useServerPsStmtChecksum
是否使用 PS 的 Checksum。
默认值:true
。
参数 |
描述 |
---|---|
user
数据库用户名称。
password
数据库用户密码。
rewriteBatchedStatements
对于插入查询,重写 batchedStatement
以在单个 executeQuery
中执行。
例如 insert into ab (i) values (?)with first batch values = 1, second = 2
被重写为 insert into ab (i) values (1), (2)
。
如果无法用“多值”重写查询,则将使用多查询重写 INSERT INTO TABLE(col1) VALUES (?) ON DUPLICATE KEY UPDATE col2=?
并附加值[1,2] 和 [2,3] ,将被重写为 INSERT INTO TABLE(col1) VALUES (1) ON DUPLICATE KEY UPDATE col2=2;INSERT INTO TABLE(col1) VALUES (3) ON DUPLICATE KEY UPDATE col2=4
。
处于活跃状态时,useServerPrepStmts
选项被设置为 false
。
默认值:false
。
connectTimeout
连接超时值,以毫秒为单位,如果没有超时则为零。
默认值:30000。
useServerPrepStmts
在执行之前,在服务器端准备 PrepareStatement
。重复使用相同查询的应用程序具有激活该选项的值,但通常情况是使用直接命令(文本协议)。如果 rewriteBatchedStatements
设置为 true
,则此选项将设置为 false
。
默认值:false
。
useBatchMultiSend
驱动程序可以批量发送查询。
如果设置为 false
,查询将逐一发送,等待返回结果后再发送下一个。
如果设置为 true
,则将根据与 useBatchMultiSendNumber
选项值(默认为 100
)批量发送查询,如果超出数据包允许发送的查询数量,则根据 max_allowed_packet
服务器变量发送查询,之后再读取结果,从而避免了客户端和服务器不在同一主机上时发生的大量网络延迟。
默认值:true
allowLocalInfile
允许从文件加载数据。
默认值:false
。
useMysqlMetadata
databaseMetaData.getDatabaseProductName()
根据服务器类型返回 OceanBase 或 MySQL。
参数 |
描述 |
---|---|
useSSL
强制连接时是否使用 SSL/TLS。
默认值:false
。
trustServerCertificate
使用 SSL/TLS 时,请不要检查服务器的证书。
默认值:false
。
serverSslCert
允许以 DER 形式提供服务器的证书或服务器的 CA 证书。该服务器将被添加到 trustStor
,这样可以信任自签名证书。
可以使用以下三种方式之一:
serverSslCert=/path/to/cert.pem (full path to certificate)
serverSslCert=classpath:relative/cert.pem (relative to current classpath)
as verbatim DER-encoded certificate string "------BEGIN CERTIFICATE-----"
keyStore
包含客户端私钥存储和关联证书的 keyStore 文件的文件路径(类似于Java 系统属性 javax.net.ssl.keyStore
,但确保仅使用私钥的条目)。旧别名 clientCertificateKeyStoreUrl
。
keyStorePassword
客户端证书 keyStore 的密码(类似于 Java 系统属性 javax.net.ssl.keyStorePassword
)。旧别名 clientCertificateKeyStorePassword
keyPassword
客户端证书 keyStore 中私钥的密码。(仅当私钥密码与 keyStore 密码不同时才需要)。
trustStore
trustStore 文件的文件路径(类似于 Java 系统属性 javax.net.ssl.trustStore
,旧别名 trustCertificateKeyStoreUrl
)将指定的文件用于受信任的根证书。设置后,将覆盖 serverSslCert
。
trustStorePassword
受信任的根证书文件的密码(类似于 Java 系统属性 javax.net.ssl.trustStorePassword
,旧别名 trustCertificateKeyStorePassword
)。
enabledSslProtocolSuites
强制将 TLS/SSL 协议强制为一组特定的 TLS 版本(以逗号分隔的列表)。示例:“TLSv1,TLSv1.1,TLSv1.2”(也可以使用别名 enabledSSLProtocolSuites
)默认值:Java 默认值。
enabledSslCipherSuites
强制使用 TLS/SSL 密码(以逗号分隔的列表)。
示例:“ TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_DSS_WITH_AES_256_GCM_SHA384”。
默认值:使用 JRE 密码。
disableSslHostnameVerification
使用 SSL 时,驱动程序将对照服务器证书中显示的服务器身份检查主机名(检查备用名称或证书 CN),以防止中间人攻击。 此选项允许停用此验证。当 trustServerCertificate
选项设置为 default
时,将禁用主机名验证。
keyStoreType
指明密钥存储类型(JKS/PKCS12)。
默认值为 null
,表示使用 Java 默认类型。
trustStoreType
指明信任库类型(JKS/PKCS12)。
默认值为null
,表示使用 Java 默认类型。
参数 |
描述 |
---|---|
pool
使用连接池。仅当不使用 DataSource 对象而仅使用连接对象时,此选项才有用。
默认值:false
。
poolName
允许标识线程的连接池名称。
默认值:自动生成为 oceanbase-pool-
maxPoolSize
连接池应包含的最大物理连接数。
默认值:8。
minPoolSize
如果由于使用时间不超过 maxIdleTime
而删除了连接,则将关闭连接并将其从池中删除。minPoolSize
指明连接池应始终保持可用的物理连接数,应小于或等于 maxPoolSize
。
默认值:maxPoolSize
。
poolValidMinDelay
当询问连接时,连接池将验证连接状态。如果最近借用了连接,则 poolValidMinDelay
允许禁用此验证,避免在频繁重复使用连接的情况下进行无用的验证。0 表示每次请求连接时都要进行验证。
默认值:1000(毫秒)。
maxIdleTime
不使用连接时,连接可以保留在池中的最长时间(以秒为单位)。此值必须始终低于 @wait_timeout-45s
。
默认值:600 秒(即 10 分钟),最小值为 60 秒。
staticGlobal
表明不会更改全局变量 max_allowed_packet
、wait_timeout
,autocommit
、auto_increment_increment
、time_zone
、system_time_zoneandtx_isolation
的值,从而允许连接池更快地创建新连接。
默认值:false
。
useResetConnection
当一个连接为 closed()
(返回给连接池)时,连接池将重置连接状态。设置此选项后,如果服务器允许,则准备命令将被删除,会话变量将被重置,用户变量将被销毁,从而在应用程序大量使用变量时,服务器可以节省内存。不得与 useServerPrepStmts
选项一起使用。
默认值:false
。
registerJmxPool
注册 JMX 监视池。
默认值:true
。
参数 |
描述 |
---|---|
log
启用日志信息。
默认值:false
。
maxQuerySizeToLog
日志中仅显示与该选项大小相对应数量的字符。
默认值:1024。
slowQueryThresholdNanos
记录执行时间超过此值的查询(如果已定义)。
默认值:1024。
profileSql
日志查询执行时间。
默认值:false
。
参数 |
描述 |
---|---|
passwordCharacterEncoding
指明密码编码字符集。字符集值必须是 Java 字符集。例如:UTF-8。
默认值:null
(即平台的默认字符集)
useFractionalSeconds
可以处理亚秒精度的时间戳。
默认值:true
。
allowMultiQueries
允许多个查询。
例如 insert into ab (i) values (1); insert into ab (i) values (2)
。
默认值:false
。
dumpQueriesOnException
如果设置为 true
,则在执行查询期间将引发包含查询字符串的异常。
默认值:false
。
useCompression
通过 gzip
压缩与数据库的交换。当数据库不在同一位置时,可以提供更好的性能。
默认值:false
。
socketFactory
要使用自定义 Socket Factory,请将其设置为 javax.net.SocketFactory
类的全名。
tcpNoDelay
在连接 Socket 上设置相应的选项。
tcpKeepAlive
在连接 Socket 上设置相应的选项。
tcpAbortiveClose
此选项可用于快速连续创建和关闭连接的环境中。通常,短时间内无法在这种环境中创建 Socket,因为所有本地“临时”端口都被 TCP 连接用尽了,并处于 TCP_WAIT
状态。使用 tcpAbortiveClose
通过重置 TCP 连接(主动关闭或硬关闭)而不是有序关闭来解决此问题。使用 socket.setSoLinger(true,0)
进行强制关闭。
tcpRcvBuf
设置 TCP 缓冲区(SO_RCVBUF
)的大小。
tcpSndBuf
设置 TCP 缓冲区(SO_SNDBUF
)的大小。
pipe
在 Windows 上,指定命名管道名称以连接到 mysqld.exe
。
tinyInt1isBit
数据类型映射标志,将 MySQL Tiny 作为 BIT(Boolean)处理。
默认值:true
。
yearIsDateType
将 Year 作为日期类型处理,而不是数字。
默认值:true
。
sessionVariables
在建立成功连接时设置的 =
对,以逗号分隔 MySQL 会话变量。
localSocket
如果服务器允许,则可以通过 Unix 域 Socket 连接到数据库。值是 Unix 域 Socket 的路径(即 Socket 数据库参数:select @@ socket
)。
sharedMemory
如果服务器允许,则通过共享内存连接到数据库。值是共享内存的基本名称。
localSocketAddress
将连接套接字绑定到本地(UNIX 域)Socket 的主机名或 IP 地址。
socketTimeout
定义了网络套接字超时(SO_TIMEOUT
),以毫秒为单位。值为 0 时将禁用此超时。也可以通过设置系统变量 max_statement_time
来限制查询时间。
默认值:0(标准配置)或 10000 ms。
interactiveClient
会话超时由 thewait_timeoutserver
变量定义。将 interactiveClient
设置为 true
将告诉服务器使用 interactive_timeoutserver
变量。
默认值:false
。
useOldAliasMetadataBehavior
元数据 ResultSetMetaData.getTableName()
返回物理表名称。如果设置了 useOldAliasMetadataBehavior
,则发送表别名可以激活继承代码。
默认值:false
。
createDatabaseIfNotExist
在 URL 中创建指定的数据库(如果不存在)。
默认值:false
。
serverTimezone
定义服务器时区。仅在 GRE 服务器实现不同的服务器时区时使用(最好具有相同的服务器时区)。
cachePrepStmts
如果 useServerPrepStmts = true
,则将准备好的信息缓存在 LRU 缓存中,以避免重新准备命令。下次使用该命令时,会将准备好的标识符和参数(如果有)发送到服务器,因而可以避免服务器重新解析查询。
默认值:true
。
prepStmtCacheSize
如果 useServerPrepStmts = true
,则使用选项 cachePrepStmts
定义准备好的语句缓存大小。
默认值:250。
prepStmtCacheSqlLimit
如果 useServerPrepStmts = true
,则大于此阈值的查询将不被缓存。
默认值:2048。
jdbcCompliantTruncation
截断错误(“在行 % 处的列 '%' 的数据被截断”,“在行 % 处的列 '%' 的值超出范围”)将被视为错误而不是警告。
默认值:true
。
cacheCallableStmts
启用/禁用调用语句缓存。
默认值:true
。
callableStmtCacheSize
如果启用了 cacheCallableStmts
,则设置驱动程序缓存每个 VM 的可调用语句的数量。
默认值:true
。
useBatchMultiSendNumber
当选项 useBatchMultiSend
是活跃状态时,设置在读取结果前可以连续发送的最大查询。
默认值:100。
connectionAttributes
当 performance_schema
处于活跃状态时,允许以键值对格式(例如:connectionAttributes = key1:value1,key2,value2)
向服务器发送一些客户端信息。这些信息可以在服务器上的表 performance_schema.session_connect_attrs
和 performance_schema.session_account_connect_attrs
中检索到。
usePipelineAuth
在连接期间,将执行不同的查询。如果该选项处于活跃状态,则使用管道发送查询(发送所有查询,然后读取所有结果),从而可以更快地创建连接。
默认值:true
。
enablePacketDebug
驱动程序将保存最近的 16 个 MySQL 数据交换包(限制为前 1000 个字节)。发生 IOException 时,这些数据包的十六进制值将添加到 stacktrace
中。此选项对性能没有影响,但驱动程序将占用 16 KB 以上的内存。
默认值:false
。
useBulkStmts
尽可能使用专用的 COM_STMT_BULK_EXECUTE
协议进行批量插入。 (不包含 Statement.RETURN_GENERATED_KEYS
和流的批处理)。
默认值:false
。
autocommit
在连接初始化时设置自动提交的默认值。
默认值:true
。
galeraAllowedState
通常,Connection.isValid
只是向服务器发送一个空数据包,并且服务器会发送一个小的响应以确保连接性。设置此选项后,连接器将确保 Galera 服务器状态 wsrep_local_state
与允许的值相对应(用逗号分隔)。例如“ 4,5”,推荐为“ 4”。
默认值:空。
includeInnodbStatusInDeadlockExceptions
发生死锁异常时,将 SHOW ENGINE INNODB STATUS
结果添加到异常跟踪。
默认值:false
。
includeThreadDumpInDeadlockExceptions
发生死锁异常时将线程转储添加到异常跟踪中。
默认值:false
。
useReadAheadInput
使用缓冲的 inputSteam
读取可用的 Socket 数据。
默认值:true
。
servicePrincipalName
使用 GSSAPI 身份验证时,将该值用作服务主体名称(SPN),而不是使用为数据库服务器上的用户帐户定义的名称。
useMysqlMetadata
强制 DatabaseMetadata.getDatabaseProductName()
返回 MySQL 作为数据库,而不是实际的数据库类型。
默认值:false
。
defaultFetchSize
驱动程序将在所有新创建的 Statements 上调用 setFetchSize(n)
。
默认值:0。
blankTableNameMeta
结果集元数据 getTableName
始终返回空白。此选项主要是为了与 Oracle 数据库兼容。
默认值:false
。
serverRsaPublicKeyFile
指明用于 sha256_password
和 caching_sha2_password
身份验证密码的 RSA 服务器公钥文件的路径。
allowPublicKeyRetrieval
当未设置 serverRsaPublicKeyFile
时,授权客户端检索 RSA 服务器公钥(对于 sha256_password
和 caching_sha2_password
身份验证密码)。
默认值:false
。
tlsSocketType
指明要使用的 TLS org.oceanbase.jdbc.tls.TlsSocketPlugin
插件类型。 插件必须存在于classpath
中。
credentialType
指明要使用的凭据插件类型。插件必须存在于 classpath
中。
trackSchema
服务器具有 CLIENT_SESSION_TRACK
功能时,允许禁用 session_track_schema
设置。
默认值:true
。
参数 |
描述 |
---|---|
当前名称:创新互联OceanBase教程:OceanBase 数据库 URL
链接URL:http://www.shufengxianlan.com/qtweb/news4/354104.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联