详解数据库中间件shardingjdb

本节开启sharding-jdbc的从读写分离入手,讲述sharding-jdbc如何完成读写分离。

(一)配置mysql数据库读写分离

配置mysql端主从的数据自动同步,mycat不负责任何数据同步问题。

启动主从配置

mycat-mysql01为master,02为slavemycat-mysql01配置my.cnflog-bin=mysql-bin//[必须]启用二进制日志server-id=//[必须]服务器唯一ID,默认是1,一般取IP最后一段

vi/etc/my.cnfservicemysqldrestart

mycat-mysql02配置my.cnf

vi/etc/my.cnfservicemysqldrestart;

在主服务器上

一般不使用root,专题的上一节我设置了,liming这个用户使用这个用户来。

mysqld-uroot-pshowmasterstatus;

记住:mysql-bin.

在从服务器上连接主服务

mysql-uroot-pstopslave;changemastertomaster_host=..3.,master_user=liming,master_password=1qaz

WSX,master_log_file=mysql-bin.,master_log_pos=;startslave;showslavestatus;

查看mysql主从效果

#在主库添加sqlmysqlcreatedatabasehi2_db;mysqlusehi2_db;mysqlcreatetablehi_tb(idint(3),namechar(10));mysqlinsertintohi_tbvalues(,bobu);mysqlshowdatabases;

已经完成了mysql的读写同步。

(二)Sharding-JDBC读写分离

不使用Spring

引入Maven依赖

dependencygroupIdorg.apache.shardingsphere/groupIdartifactIdsharding-jdbc-core/artifactIdversion${sharding-sphere.version}/version/dependency

基于Java编码的规则配置

//配置真实数据源MapString,DataSourcedataSourceMap=newHashMap();//配置主库BasicDataSourcemasterDataSource=newBasicDataSource();masterDataSource.setDriverClassName("


转载请注明:http://www.xcqg58.com/jyqj/jyqj/26846791.html