1.简介
从JDBC驱动程序Connector/J 3.1.7 开始,我们提供了一个JDBC驱动’变体’。它能够通过Connection.getReadOnly()返回的状态,自动向可读写的Master数据提交查询语句,进行错误恢复及在Slaver数据库集间实现负载均衡。
应用程序通过调用Connection.setReadOnly(true)将事务设为只读,这将使事务被提交到那些通过轮转调度实现负载均衡的Slave服务器上(这将连接到一个Slave服务器上,除非Slave已在服务器集上被移除)。如果你要进行数据更新操作,或者你要进行一个时间敏感的读操作(在MySql上Master/Slave 间的数据同步是同步进行的),你可以通过调用Connection.setReadOnly(false)将与数据库的连接后的数据操作设为不是只读,则驱动程序将确保此连接的后续操作被发送到Master数据库上进行操作。驱动程序通过检查当前的autocommit(只动提交)标记,隔离级别,以及维护所有的数据库连接列表来实现负载均衡的功能。
在配置数据库连接池或为单独的程序创建JDBC驱动实例时,你必须使用" com.mysql.jdbc.ReplicationDriver " 类以便让驱动自动实现Master和Slave间的负载均衡。ReplicationDriver使用与标准的JDBC 驱动相同的URL格式连接数据库,目前ReplicationDriver不能和标准的java.sql.DriverManager一起工作,ReplicationDriver并不是使用java.sql.DriverManager连接数据库的,仅仅是使用它注册MySql JDBC 驱动程序而已。
2.实例
import java.sql.Connection; import java.sql.ResultSet; import java.util.Properties; import com.mysql.jdbc.ReplicationDriver; public class ReplicationDriverDemo { public static void main(String[] args) throws Exception { ReplicationDriver driver = new ReplicationDriver(); Properties props = new Properties(); // 对Slave进行故障恢复 props.put("autoReconnect", "true"); // 在Slave上进行负载均衡 props.put("roundRobinLoadBalance", "true"); props.put("user", "foo"); props.put("password", "bar"); // // Looks like a normal MySQL JDBC url, with a // comma-separated list of hosts, the first // being the 'master', the rest being any number // of slaves that the driver will load balance against // Connection conn = driver.connect("jdbc:mysql://master,slave1,slave2,slave3/test", props); // // Perform read/write work on the master // by setting the read-only flag to "false" // conn.setReadOnly(false); conn.setAutoCommit(false); conn.createStatement().executeUpdate("UPDATE some_table ...."); conn.commit(); // // Now, do a query from a slave, the driver automatically picks one // from the list // conn.setReadOnly(true); ResultSet rs = conn.createStatement().executeQuery("SELECT a,b FROM alt_table"); ....... } }
3.参考资料
http://blog.csdn.net/ckcs49/article/details/2064248
相关推荐
mysql5.5、mysql5.5、mysql5.7、mysql8 各种版本最新下载合集 MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提 高了灵活性。 MySQL...
├─新版MySQL DBA 课件ppt │ 第一课数据库介绍篇.pdf │ 第七课MySQL数据库设计.pdf │ 第三十一课percona-toolkits 的实战及自动化.pdf │ 第三课MySQL授权认证.pdf │ 第九课MySQL字符集.pdf │ 第二十一课MySQL...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,其驱动程序是Java应用程序连接MySQL数据库的关键组件。本文将详细介绍MySQL 8和MySQL 5驱动的区别以及与JDK版本的兼容性问题。 首先,MySQL 8和5的主要区别在于...
如果正在使用MySQL软件的较旧版本,请参阅MySQL 5.0参考手册,该手册涵盖了MySQL 5.0,或参阅MySQL 4.1参考手册,该手册涵盖了MySQL 4.1以及MySQL的所有早期版本。在手册的文本中,通过引用发布版本(5.1.x),注明...
在C#编程环境中,连接MySQL数据库通常依赖于特定的数据提供者,这就是MySql.Data.dll和MySql.Web.dll的角色。这两个动态链接库(DLL)文件是MySQL官方提供的.NET数据访问组件,使得C#开发者能够轻松地与MySQL服务器...
mysql5.7安装教程+mysql5.7镜像安装+mysql学习+mysql5.7镜像包 mysql5.7安装教程+mysql5.7镜像安装+mysql学习+mysql5.7镜像包 mysql5.7安装教程+mysql5.7镜像安装+mysql学习+mysql5.7镜像包 mysql5.7安装教程+mysql...
mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57驱动jar包mysql57...
MySQL驱动jar文件是Java应用程序与MySQL数据库之间通信的关键组件,主要功能是提供Java Database Connectivity (JDBC) API,使得Java开发者能够通过编写Java代码来执行SQL语句,从而操作MySQL数据库。标题提到的...
Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql测试数据。Mysql...
MySQL驱动是Java应用程序连接到MySQL数据库的关键组件,它允许程序通过Java Database Connectivity (JDBC) API与MySQL服务器进行通信。本压缩包包含了两个适用于MySQL 5.7版本的驱动文件:`mysql-connector-java-...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,而JDBC(Java Database Connectivity)是Java语言与数据库交互的标准接口。本文将深入探讨Mysql5.6和Mysql5.7的JDBC驱动,以及如何使用`mysql-connector-java-...
MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其在各个版本间不断进行更新与优化以满足不断变化的用户需求。本篇文章将详细讨论MySQL8与MySQL5在连接驱动jar包方面的差异,以及如何使用这些驱动来连接Java...
在本教程中,我们将深入探讨如何在Windows操作系统上详细安装MySQL 8.0.36.0。MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS),它在各种规模的企业和项目中扮演着核心角色。MySQL 8.0版本带来了许多性能...
MySQL ODBC 5.1 Driver 是一个用于连接MySQL数据库的开放数据库连接(ODBC)驱动程序,它允许用户通过标准的ODBC接口访问MySQL数据库,适用于Windows操作系统。这个版本是免安装的,意味着用户可以直接解压使用,...
例如,`mysql_init()`用于初始化一个MySQL连接结构,`mysql_real_connect()`用于建立实际的数据库连接,`mysql_query()`用于执行SQL查询,而`mysql_store_result()`和`mysql_use_result()`则用于处理查询结果。...
mysql安装教程(保姆级)---mysql-8.0.32-winx64 mysql安装教程(保姆级)---mysql-8.0.32-winx64 mysql安装教程(保姆级)---mysql-8.0.32-winx64 mysql安装教程(保姆级)---mysql-8.0.32-winx64 mysql安装教程...
MySQL Connector/Net ...在项目中引用组件:MySql.Data.dll (记得复制到本地中选择为true / 或直接把MySql.Data.dll复制到debug文件夹下) 在代码中 using MySql.Data.MySqlClient; ......接下来这里就看你表演了。
mysql5.7镜像;mysql5.7镜像;mysql5.7镜像;mysql5.7镜像
mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上版本数据库 mysql jdbc 驱动 适用于5.7及以上...
深入浅出MySQL全文 MySQL 是一种关系型数据库管理系统,广泛应用于各种行业和领域。本资源将从基础篇开始,详细讲解 MySQL 的安装、配置、启动和关闭服务、SQL 基础等知识点。 MySQL 的安装与配置 MySQL 的安装是...