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 fabricShardTable fabricServerGroup fabricProtocol fabricUsername fabricPassword fabricReportErrors
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=123456
4. 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.