zoukankan      html  css  js  c++  java
  • 读写分离-mycat

    读写分离-mycat:
    安装mycat:
    #下载mycat:
    wget http://dl.mycat.io/1.6.7.1/Mycat-server-1.6.7.1-release-20190627191042linux.tar.gz
    #解压:
    tar xf Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz  -C /usr/local/ 
    #安装java-jdk:
    yum install java-1.8.0-openjdk -y
    #配置mycat环境变量:
    echo "export PATH=/usr/local/mycat/bin:$PATH" > /etc/profile.d/mycat.sh 
    . /etc/profile.d/mycat.sh   
    数据库授权mycat中间件:

    #在主库执行授权信息,从库会自动同步:
    Mariadb [(nane)]> grant all on *.* to "mycat-proxy"@"192.168.1.20" ientified by "123456";
    备份mycat的核心文件:

    cp /mycat-proxy/conf/server.xml /mycat-proxy/conf/server.xml.bak
    cp /mycat-proxy/conf/schema.xml /mycat-proxy/conf/schema.xml.bak

    配置server.xml文件:

    vim /mycat-proxy/conf/server.xml

    配置schema.xml文件:

    vim /mycat-proxy/conf/schema.xml
    # 设置逻辑库以及数据库节点 
    <schema name="lutixiadb" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"> </schema> 
    # 配置数据库节点对应的后端真实的数据库: 
    <dataNode name="dn1" dataHost="localhost1" database="students" /> 
    # 配置读写库以及均衡: 
         <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="192.168.1.200:3306" user="mysql-proxy"
                                       password="123456">
                            <!-- can have multi read hosts -->
                            <readHost host="hostS2" url="192.168.1.201:3306" user="mysql-proxy" password="123456" />
                    </writeHost>
                    <writeHost host="hostS1" url="192.168.1.201:3306" user="mysql-proxy"
                                       password="123456" />

    案例:

    启动mycat并且查看端口:
    mycat start               #需先创建用户 mycat/ mycat-proxy
    ps -ef|grep mycat         #端口8066   9066
    netstat -nutlp

    连接测试:(需要安装mysql客户端工具)

    mysql -umycat -p123456 -P8066 -h127.0.0.1
    Mariadb [(nane)]> show databases;
    
    mysql -umycat -p123456 -P9066 -h127.0.0.1
    Mariadb [(nane)]> show databases;

    查看日志:

    ps -aux |grep mycat                           #查看mycat启动的目录
    tailf /usr/local/mycat/logs/mycat.log         #查看错误日志

    查看状态:

    show @@datasource;

    在后端主库创建表插入数据:

    Mariadb[(nane)]> show databases;
    Mariadb[(nane)]> use students;
    Mariadb[(nane)]> create table t1(id int(10) auto0increment primary key, name varchar(20) jod varchar(20));
    Mariadb[(nane)]> insert ti values(1,"xiaoming","it");

    mycat继续查询:

    mysql -umycat -p123456 -P8066 -h127.0.0.1
    show databases;
    use lutixiadb;
    show tables;

  • 相关阅读:
    设计模式笔记(22)状态模式(行为型)
    设计模式笔记(16)解释器模式(行为型)
    Lable和Literal控件的使用和区别
    设计模式笔记(15)命令模式(行为型)
    设计模式笔记(25)总结
    在JS方法中返回多个值的三种方法
    SQL 左外连接,右外连接,全连接,内连接
    面试集萃
    ASP.NET MVC如何使用Ajax的辅助方法
    ASP.NET MVC+EF框架+EasyUI实现权限管理(附源码)
  • 原文地址:https://www.cnblogs.com/fengyuanfei/p/14498225.html
Copyright © 2011-2022 走看看