zoukankan      html  css  js  c++  java
  • Mycat在MySQL主从模式(1主1从)下读写分离和及自动切换模式的验证

    实验环境

    两台Centos7  MySQL5.7.12 IP地址为:192.168.10.36  192.168.10.37

    一台Centos7 Mycat IP地址为:192.168.10.31

    一:安装mysql,如下图所示(这里采用yum安装):

    二:配置MYSQL,以及建立MYSQL主从

    1:初始化密码,由于我没在/root目录下找到第一次启动的随机密码,所以我只能用如下操作

    vi /etc/my.cnf

    mysqd 字段添加 #skip-grant-tables

    然后重启mysql   systemctl restart mysqld    这个时候没有密码也能进去;执行下面这一条语句:

    update mysql.user set authentication_string=password(123456) where user='root' and Host = 'localhost';

    此时重启mysql后,注释掉刚刚添加的那个字段,systemctl restart mysqld  会告诉你的密码不符合复杂程度要求,需要再次更改;

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1234@Mfg');

    FLUSH PRIVILEGES;

    之后用新的密码登录即可!

    2:配置MYSQL主从,mysql配置文件内容修改如下图,主从的server_id一个为36,另外一个为37,此处必须保持不一致:

    3:执行如下命令,使其建立主从关系,192.168.10.37为192.168.10.36的Slave

    在192.168.10.36上执行:

    grant replication slave on *.* to 'sync'@'192.168.10.37' identified by 'sync';

    在192.168.10.37上执行:

    change master to master_host='192.168.10.36', master_user='repluser',master_password='replpass', master_auto_position=1;(此处使用的是GTID多线程复制)

    start slave;

    此时使用show slave statusG;可验证主从关系是否建立完成,如下图:

    三:配置Mycat

    1:逻辑库为myyangtest,逻辑表为:

    2:查看schema.xml配置文件如下图所示:

    此处为1个dataHost;3个dataNode节点;

    3:查看rule.xml配置文件如下图所示:

    4:查看server.xml配置文件内容,主要内容如下图所示:

    5:启动Mycat,并且开启Mycat的日志的Debug模式,

    ./bin/mycat start

    6:创建myyang表,并开始插入数据;

    7:首先验证Mycat读写分离,由此先将balance 设置为3,writetype设置为0,先注释掉第二个writeHost。

    先执行如下查询语句,获取此条结果后,

    然后打开mycat logs目录下的mycat.log文件,可以看到如下内容;

    由上图可以验证,查询的路由是发送到192.168.10.37(从服务器)完成的。

    然后执行如下插入语句;

    然后再次打开mycat logs目录下的mycat.log文件,可以看到如下内容;

    由上图可以看到插入语句的路由是发送到192.168.10.36(主服务器)完成的!

    至此,可以验证Mycat的读写分离已经实现!

    8:验证Mycat自动切换功能

    修改schema.xml内容如下图所示:

    修改完成后重启mycat!

    此时执行插入语句如下图:

    再次打开日志文件,可以看到(如下图)插入语句还是在192.168.10.36(主服务器)上执行;

    此时我们将192.168.10.36的mysql服务给关闭!,文件会打印报错信息,如下图所示;

    此时我们再此执行一条插入语句:

    再次打开日志文件,如下图所示:

    由此可以看出,此时插入语句是路由到192.168.10.37(从服务器)完成的!另外我们也可以登陆到192.168.10.37的mysql的db_test3库中进行验证(如下图):

    由此Mycat的自动切换功能验证成功!

  • 相关阅读:
    Linux上ssh免秘钥互登
    Linux版本显示和区别32位还是64位系统
    shell运行下的写日志
    oracle 分析函数
    oracle解锁
    Linux下的打包操作
    python 小记
    Python 之 random模块
    JS模块化工具requirejs教程02
    JS模块化工具requirejs教程01
  • 原文地址:https://www.cnblogs.com/skymyyang/p/7131014.html
Copyright © 2011-2022 走看看