mycat搭建分库读写分离与分库分表:

mycat搭建分库读写分离:
1.首先创建两个数据库主机A,从机B:
搭建过程:
1.1.主机:
1.1.1.创建库。
1.1.2.修改mysql配置文件,修改vim/etc/my.cnf
1.1.2.1.增加或修改server-id=*唯一标识数据库。
1.1.2.2.启用二进制日志:增加或修改log-bin=mysql-bin.
1.1.2.3过滤不复制的数据库:binlog-ignore-db=XXDB.
1.1.2.4.设置需要复制的数据库名字:binlog-do-db=XXDB
1.1.2.5.设置binlog格式:binlog_format=STATEMENT
备注(如果是多主机加设置:log-slave-updates auto-increment.increment=2(递增量)
zuto-increment-offset=1(起始值,如果多主机应该为1,2,3,4)
且主机之间互相依赖,执行grant replication slave on . to ‘用户名’@’IP地址’ identified by ‘密码’;,
show master status 得到 mysql-bin.000078 Position:107
msater_log_file=‘mysql.bin.00000001(从主机读取的)’,master_log_pos=123;即可
1.1.2.6.重启服务。
1.2.从机:
1.2.1.创建库。
1.2.2.修改mysql配置文件,修改vim/etc/my.cnf
1.2.2.1.增加或修改server-id=*唯一标识数据库(2)。
1.2.2.2.启动中继日志:relay-log=mysql-relay
1.2.2.3.重启服务。
1.3.关闭防火墙,防止拦截从机请求(service syop firewald)
1.4.指定从机用户权限可以读取主机。在主机执行:grant replication slave on . to ‘用户名’@’%’ identified by ‘密码’;
1.5.show master status得到binlog当前值:(00000001),position值:123。(主库有数据时,先锁表FLUSH TABLES WITH READ LOCK,完成后在unlock TABLES)
1.6.从机执行:change master to master_host=‘主机ip’,master_user=‘用户名’,master_password='密码‘,msater_log_file='mysql.bin.00000001(从主机读取的)’,master_log_pos=123;
1.7.备注:如果库已经执行过上边sql,关联过了,可以执行stop username;reset master(重置主机);reset slave(重置从机)重新开始执行上边sql复制。
1.8.启动从机服务start slave.
1.9.查询是否配置主从复制成功: show slave status\G;
可支持多从库
查询状态 systemctl status mysqld

2.开始配置mycat
2.1.安装ycat
2.2.修改配置文件mycat下的schema.xml,
2.2.1.配置balance:0:不开启读写分离(只操作主机)
1:写主机只能一个,可存在其他主机,但是是备用得,读负载均衡到所有机器(不包含写主机)
2:所有的读写操作分发随机可操作所有机器。
3:所有独操作只分发到读机器上,
2.2.2.配置writeType:0:一个写主机挂了,切换到第二个。
2.2.3.配置switchtype:1:自动切换。
-1:不自动切换。
2.基于mysql主从同步状态决定是否切换。
2.2.4.配置数据库明,(dataNode),心跳查询语句(heartbeat:select user())
2.2.5.配置dataHost节点:配置读得数据库(readhost),和写得数据库(writehost)多写主机copy datahost标签即可

单库分表:比如按区域一个库里分表,则schema.xml中配置table标签加上属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值