使用Mycat进行分库分表

下载安装包:

我下载的1.6-RELEASE 里的 1.6-RELEASE-20161028204710-win.tar.gz

下载后解压,以管理员身份运行cmd,进入bin目录,这里有几个操作命令

安装:mycat install

启动:mycat start

停止:mycat stop

重启:mycat restart

显示如下,即为启动成功

我在本地创建了两个数据库分别为MAVEN_SSM,MAVEN_SSM2

并分别创建表格:

create table user(
    id int not null auto_increment,
    username char(20) not null,
    password char(33) not null,
    address char(8) not null,
    birthday date,
    department_id int not null,
    primary key (id)
);

在conf目录下我们主要使用:server.xml、schema、rule.xml

在server.xml创建库用户

schema.xml文件如下(在schema.xml中使用了mod-long规则):

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

	<schema name="MYCAT_DB" checkSQLschema="false" sqlMaxLimit="100">
		<table name="user" primaryKey="id" autoIncrement="true" dataNode="dn1,dn2" rule="mod-long"/>
	</schema>

	<dataNode name="dn1" dataHost="localhost" database="MAVEN_SSM"/>
	<dataNode name="dn2" dataHost="remotehost" database="MAVEN_SSM2"/>

	<dataHost name="localhost" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<writeHost host="hostM1" url="127.0.0.1:3306" user="root" password="root"></writeHost>
	</dataHost>

	<dataHost name="remotehost" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<writeHost host="hostM1" url="127.0.0.1:3306" user="root" password="root"></writeHost>
	</dataHost>


</mycat:schema>

使用cmd的管理员命令连接Mycat: mysql -upeng -p -h127.0.0.1 -P8066

查看数据表:

添加数据:

insert into user(id,username,password,address,birthday,department_id) values(4,帅哥1,123456,四川成都,2018-01-01,2);

打开mysql数据表:

添加成功!!!!

经验分享 程序员 微信小程序 职场和发展