标签:inux 远程 linu 简单 sla hosts password res check
介绍:
Mycat作为数据库中间件,用来实现读写分离、数据分片(垂直拆分/水平拆分)、多数据源整合等功能。
原理:
Mycat通过拦截用户发过来的SQL语句,并对其进行特定的分析,如分片分析、路由分析、读写分离分析、缓存分析等,然后将此SQL发往后端对应的数据库,并将返回的结果做适当的处理,最终返回给用户。
安装启动:
1、将Mycat的tar.gz格式的压缩包拷贝到Linux系统下的opt目录下
2、使用Linux的编辑脚本(如Xshell),进入到opt目录下解压压缩文件(tar -zxvf 文件名)
3、将解压后的文件复制到/usr/local目录下(cp -rv mycat /usr/local)
4、启动前先修改schema.xml
    <?xml version="1.0"?>
    <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
    <mycat:schema xmlns:mycat="http://io.mycat/">
                 <!--逻辑库    name名称,   checkSQLschema         sqlMaxLimit 末尾是否要加 limit xxx-->
              <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"> </schema>
                    <!--逻辑库    name名称,   dataHost 引用的哪个dataHost      database:对应mysql的database-->
                <dataNode name="dn1" dataHost="host1" database="数据库名" />
                  <dataHost name="host1" 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="写主机ip:3306" user="xxx" password="xxx">
              <readHost host="hostM2" url="读主机ip:3306" user="xxx" password="xxx">
                            </writeHost>
                  </dataHost>
    </mycat:schema>
5、验证数据库的访问情况(读写主机都需要使用远程访问的形式进行验证是否连通)
mysql -u用户名 -p密码 -h对应ip地址 -P3306(写主机)
mysql -u用户名 -p密码 -h对应ip地址 -P3306(读主机)
注:
      如本机远程访问报错,请建对应用户(mysql -u用户名 -p密码)
      grant all privileges on *.* to root@‘缺少的host‘  identified by ‘密码‘;
6、先使用前台启动,确认是否能启动成功。去mycat/bin 目录下执行 ./ mycat console。
7、(可选择性更改,ctrl+c关闭之后修改,改后再启动)为了区分mycat和mysql的用户名可以进行配置文件的修改server.xml
     <user name="mycat">
                      <property name="password">123456</property>
                      <property name="schemas">TESTDB</property>
     </user>
8、登录mysql -umycat -p123456 -P8066 -h 主机ip
9、后续一系列操作show databases、use TESTDB、show tables
10、配置读写分离,修改schema.xml的balance(配置成3)
负载均衡类型,目前的取值有4 种:
    (1)balance="0", 不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。
    (2)balance="1",全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且 M1 与 M2 互为主备),正常情况下,M2,S1,S2 都参与 select 语句的负载均衡。
    (3) balance="2",所有读操作都随机的在 writeHost、readhost 上分发。
    (4) balance="3",所有读请求随机的分发到 readhost 执行,writerHost 不负担读压力
标签:inux 远程 linu 简单 sla hosts password res check
原文地址:https://www.cnblogs.com/i-fly/p/10242114.html