mycat的安装

 

1、取消大小写敏感

vi /etc/my.cnf  在[mysqld]下添加一行

lower_case_table_names=1

2、编辑配置文件

vi schema.xml   修改成这样,标红的是进行修改的地方,这部分是把信息都写到数据库,没有进行读写分离

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

        <schema name="e3-mall" checkSQLschema="false" sqlMaxLimit="100">  e3-mall表示数据库的名称
                <!-- auto sharding by id (long) -->
                <table name="tb-item" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />   tb-item表示表的名称,可以自己修改    auto-sharding-long表示一种规则,可以在rule.xml看到,
不同点可以进行百度 </schema> 下面这个表示有3个节点,有对应的数据库如localhost1、localhost2 <dataNode name="dn1" dataHost="localhost1" database="db1" /> <dataNode name="dn2" dataHost="localhost2" database="db2" /> <dataNode name="dn3" dataHost="localhost1" database="db3" /> <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <!-- can have multi write hosts --> <writeHost host="hostM1" url="212.64.17.245:3306" user="root" password="85586537"> <!-- can have multi read hosts --> </writeHost> </dataHost> <dataHost name="localhost2" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <!-- can have multi write hosts --> <writeHost host="hostM1" url="localhost:3306" user="root" password="85586537"> </writeHost> </dataHost> </mycat:schema>

3、读写分离的的话就修改配置,也是在schema.xml配置

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

        <schema name="e3-mall" checkSQLschema="false" sqlMaxLimit="100">
                <!-- auto sharding by id (long) -->
                <table name="tb-item" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
        </schema>

        <dataNode name="dn1" dataHost="localhost1" database="db1" />
        <dataNode name="dn2" dataHost="localhost2" 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>
                这个的意思就是读取db1和db3的数据库是基于localhost,而写的数据库是在212.64.17.245这个服务器的数据库,进行了读写分离
                <writeHost host="hostM1" url="212.64.17.245:3306" user="root"   
                        password="85586537">
                <readHost host="hosts" url="localhost:3306" user="root" password="85586537">
                </writeHost>
        </dataHost>

        <dataHost name="localhost2" maxCon="1000" minCon="10" balance="0"
                writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <!-- can have multi write hosts -->
                <writeHost host="hostM1" url="localhost:3306" user="root"
                        password="85586537">
                </writeHost>
        </dataHost>

</mycat:schema>

  balance后面有3个参数 

0表示读操作都发送到writeHost上   1表示读操作发送到readHost上   2表示随机发送到writeHost和readHost上

  switchType也是3个参数 

-1 表示不自动切换  1表示自动切换   2则是基于Mysql的主从同步状态进行切换

  具体数据库的截图:

4、最后vi server.xml配置文件

 表示用户名和密码都是user,而连接的数据库是e3-mall

然后开启mycat的服务,就可以进行远程连接的操作了。服务器名称是安装mycat的服务器,用户名和密码都是userer(上面图片自己配置的),端口是8066

posted @ 2019-07-18 19:37  曾饺  阅读(419)  评论(0)    收藏  举报