MySQL 默认提供4中方式连接。并附带有负载均衡、读写分离方式!
以下将分别连接的四种方式列出来。
下图为4中连接方式的前缀(来自源码):
private static final String REPLICATION_URL_PREFIX = "jdbc:mysql:replication://";private static final String URL_PREFIX = "jdbc:mysql://";private static final String MXJ_URL_PREFIX = "jdbc:mysql:mxj://";public static final String LOADBALANCE_URL_PREFIX = "jdbc:mysql:loadbalance://";
1. 读写分离 —— 配置方式
## 主要使用 com.mysql.jdbc.ReplicationDriver
jdbc.driverClassName=com.mysql.jdbc.ReplicationDriver ## 使用的是jdbc:mysql:replication:// jdbc.url=jdbc:mysql:replication://ryan1:3306,ryan11:3306,ryan12:3306/test?characterEncoding=utf8 jdbc.username=root jdbc.password=123456
负载均衡 —— 配置方式
## com.mysql.jdbc.Driver
jdbc.driverClassName=com.mysql.jdbc.Driver
## 使用的是 jdbc:mysql:loadbalance://
jdbc.url=jdbc:mysql:loadbalance://localhost:3306,localhost:3307/test?autoReconnect=true&autoReconnectForPools=true&useUnicode=true&generateSimpleParameterMetadata=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC
jdbc.username=root
jdbc.password=123456
2. 数据分片 —— 配置方式
## 主要使用 com.mysql.fabric.jdbc.FabricMySQLDriver
jdbc.driverClassName=com.mysql.fabric.jdbc.FabricMySQLDriver ## 使用的是jdbc:mysql:fabric:// jdbc.url=jdbc:mysql:fabric://host:port/test?fabricShardTable=employees.employees&fabricShardKey=4621&characterEncoding=utf8&fabricServerGroup=test jdbc.username=root jdbc.password=123456
其他参数如下:
fabricShardKey fabricShardTablefabricServerGroupfabricProtocolfabricUsernamefabricPasswordfabricReportErrors
3. 普通JDBC —— 配置方式
## 主要使用 com.mysql.jdbc.Driver
jdbc.driverClassName=com.mysql.jdbc.Driver ## 使用的是jdbc:mysql:// jdbc.url=jdbc:mysql://localhost:3306/test?autoReconnect=true&autoReconnectForPools=true&useUnicode=true&generateSimpleParameterMetadata=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC jdbc.username=root jdbc.password=1234564. jdbc:mysql:mxj:// 这种方式,我去看了看官方,文档是这样写的:
MySQL has stopped development and
support for Connector/MXJ. Source and binaries for previously released versions will continue to be available from archives.