本节开启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("