linux安装mycat

1.解压mycat
1.tar -zxvf /usr/local/tmp/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
2.把mycat文件夹移动到 /usr/local/ 下mv Mycat-server-1.6-RELEASE-20161012170031-linux /usr/local/mycat
3. mysql -uroot -p123456

在mysql创建mycat访问mysql的用户
master提供可被mycat访问的用户
GRANT all privileges ON . to 'mycat'@'%' identified by '123456' with grant option;

4.启动Mycat
/usr/local/mycat/bin/mycat start
5.查看状态
/usr/local/mycat/bin/mycat status
6.命令行访问方式:
在windows窗口开始访问:
mycat默认用户名 root 默认密码 123456
mysql -uroot -p123456 -h192.168.159.134 -P8066
以下都是mycat里面的库信息,表信息,并非mysql里面的

图片说明

图片说明

图片说明

7.mycat配置文件解读
mycat中的schema.xml配置文件:

<mycat:schema xmlns:mycat="http://io.mycat/">

    <schema name="TESTDB1" checkSQLschema="false" sqlMaxLimit="100">
            <table name="t_user" dataNode="dn1,dn2,dn3" rule="crc32slot">
                <childTable name="t_admin" joinKey="user_id" parentKey="id" />
            </table>
    </schema>
    <dataNode name="dn1" dataHost="localhost1" database="db1" />
    <dataNode name="dn2" dataHost="localhost1" database="db2" />
    <dataNode name="dn3" dataHost="localhost1" database="db3" />

    <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
                      writeType="0" dbType="mysql" dbDriver="native" switchType="2"  slaveThreshold="100">
           <heartbeat>show slave status</heartbeat>
           <writeHost host="hostM1" url="192.168.199.184:3306" user="root"
                               password="root">
           </writeHost>
           <writeHost host="hostS1" url="192.168.199.116:3306" user="root" password="root" />
    </dataHost>

有问题查日志:
图片说明

开始手动创建表,mycat和mysql的关联都是通过schema.xml文件配置生效的
图片说明

图片说明

用mycat存储数据后,真实数据库存储数据分片存储

图片说明

分片规则需要配置,否则分库的情况默认只会向两个库中存储:
图片说明
原因找到了:
conf下面有一个ruledata,里面只分了两区,就算更改schema.xml中的分片的值,这个也不会改;解决方法就是把这个文件删了,重启,就会变成多片了

图片说明

读写分离:

图片说明
我理解读写分离的意思就是:
写数据只在主节点进行,根据主从关系会相应备份到从节点;而读只从从节点读取;例子就是在从节点随便新增一条数据,看看mycat里面是否读取到从节点独有的数据;
图片说明

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务