基于mycat搭建mysql集群主从复制

1、搭建 MySQL 数据库主从复制

        这里使用了两台虚拟机搭建一主一从

2.主机一配置

        修改/etc/my.cnf文件        

        #主服务器唯一ID

        server-id=1

        #启用二进制日志

        log-bin=mysql-bin

        # 设置不要复制的数据库(可设置多个) 

        binlog-ignore-db=mysql

        binlog-ignore-db=information_schema 

        #设置需要复制的数据库

        binlog-do-db=需要复制的主数据库名字

        #设置logbin格式

        binlog_format=STATEMENT

3.主机一配置

            #从服务器唯一ID

            server-id=2

            #启用中继日志

        relay-log=mysql-relay

   

4.主机、从机重启

5.MySQL 服务主机从机都关闭防火墙

6.在主机上建立帐户并授权slave

        #在主机MySQL里执行授权命令

        CREATE USER 'slave2'@'%' IDENTIFIED BY '123123'; 

        #此语句必须执行。否则见下面。

        ALTER USER 'slave2'@'%' IDENTIFIED WITH mysql_native_password BY '123123';

        GRANT REPLICATION SLAVE ON *.* TO 'slave2'@'%';

        flush privileges;

        #查询master的状态show master status;

        #记录下FilePosition的值

        #执行完此步骤后不要再操作主服务器MySQL,防止主服务器状态值变化

7.在从机上配置需要复制的主机

        #在从机执行命令

        CHANGE MASTER TO MASTER_HOST='主机的IP地址',

        MASTER_USER='slave', MASTER_PASSWORD='123123',

        MASTER_LOG_FILE='mysql-bin.具体数字',MASTER_LOG_POS=具体值;

#启动从服务器复制功能start slave;

#查看从服务器状态show slave status\G;

#下面两个参数都是Yes,则说明主从配置成功! 

# Slave_IO_Running: Yes

# Slave_SQL_Running: Yes

8.主机新建库、新建表、insert 记录,从机复制

        #建库语句

        CREATE DATABASE mydb1;

        #建表语句

        CREATE TABLE mytbl(id INT,NAME VARCHAR(50));

        #插入数据

        INSERT INTO mytbl VALUES(1,"zhang3");

9.如何停止从服务复制功能

        stop slave;

10.如何重新配置主从

        stop slave; 

        reset master;

11、配置 Macat 读写分离

登录Mycat,创建逻辑库,配置数据源

#Mycat里创建数据库mydb1 #创建db2逻辑库

create database mydb1;

#修改mydb1.schema.json 指定数据源 "targetName": "prototype",配置主机数据源vim /usr/local/mycat/conf/schemas/mydb1.schema.json

使用注解方式添加数据源

#登录Mycat,注解方式添加数据源,指向从机

/*+ mycat:createDataSource{ "name":"rwSepw", "url":"jdbc:mysql://192.168.140.100:3306/mydb1?useSSL=false&characterEncodi ng=UTF-8&useJDBCCompliantTimezoneShift=true", "user":"root", "password":"123456" } */;

/*+ mycat:createDataSource{ "name":"rwSepr", "url":"jdbc:mysql://192.168.140.99:3306/mydb1?useSSL=false&characterEncodin g=UTF-8&useJDBCCompliantTimezoneShift=true", "user":"root", "password":"123456" } */;

#查询配置数据源结果

/*+ mycat:showDataSources{} */;

更新集群信息,添加dr0从节点.实现读写分离

 

#更新集群信息,添加dr0从节点.

/*! mycat:createCluster{"name":"prototype","masters":["rwSepw"],"replicas":["rw Sepr"]} */;

#查看配置集群信息

/*+ mycat:showClusters{} */;

#查看集群配置文件

vim /usr/local/mycat/conf/clusters/prototype.cluster.json

 

readBalanceType 查询负载均衡策略可选值:

BALANCE_ALL(默认值)

获取集群中所有数据源

BALANCE_ALL_READ

获取集群中允许读的数据源

BALANCE_READ_WRITE

获取集群中允许读写的数据源,但允许读的数据源优先

BALANCE_NONE

获取集群中允许写数据源,即主节点中选择

switchType

NOT_SWITCH:不进行主从切换SWITCH:进行主从切换

3.重启mycat即可

        但这里就搭建完成了,接下来自己验证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chihiro_db

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值