###mycat分片式存储服务器搭建
需要一台mycat服务器+两台以上的数据库服务器
安装mycat需要先安装 jdk mycat需要网上下载
将解压的mycat文件存放在/usr/local/mycat下
vim /usr/local/mycat/conf/schema.xml
//定义localhost53主机名对应的数据库服务器ip地址
<dataHost name="localhost53" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1"
slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM53" url="192.168.4.53:3306" user="adminplj" password="123qqq...A">
</writeHost>
</dataHost>
根据分片文件的设置在对应的数据库服务器上创建存储数据的数据库
mysql> create database db1; //在数据库上,分别创建db1,db2,db3库
在对应的数据库服务器上创建授权用户给mycat服务器使用
mysql> grant all on *.* to admin@"%" identified by "123456";
mariadb //安装提供mysql命令的软件包
yum -y install mariadb
mycat主机测试:
mysql -h192.168.4.53 -uadmin -p123456
/usr/local/mycat/bin/mycat start
netstat -utnlp | grep :8066 //查看端口
ps -C java //查看进程
客户机:
mysql -h192.168.4.56 -P8066 -uroot –p123456
vim /usr/local/mycat/conf/server.xml 中可以配置用户名和密码
练习sharding-by-intfile分片规则的使用 查看对应规则的表名
练习mod-long分片规则的使用 查看对应规则的表名
首先vim /usr/local/mycat/conf/rule.xml 查看对应需要创建的columns 字段
然后在更改对应的规则
自定义逻辑库和逻辑表:
<mycat:schema xmlns:mycat="http://io.mycat/">
<schema name="BBSDB" checkSQLschema="false" sqlMaxLimit="100">
<table name="company2" primaryKey="ID" type="global" dataNode="dn1,dn2,dn3" /> //指定逻辑表名company2
<table name="employee2" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="sharding-by-intfile" /> //指定逻辑表名employee2
</schema>
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100"> …… ……</mycat:schema >