mysql高级-05-Mycat

16
五月
2021

Mycat介绍

是什么

数据库中间件,前身是阿里的cobar

干什么

1、读写分离

2、数据分片 

  • 垂直拆分
  • 水平拆分
  • 垂直+水平拆分

3、多数据源整合

 

原理

这种方式把数据库的分布式从代码中解耦出来,程序猿察觉不出来后台使用mycat还是mysql。

 

安装启动

三个文件:

schema.xml 定义逻辑库,表、分片节点等内容

rule.xml 定义分片规则

server.xml 定义用户以及系统相关变量,如端口等

 

第一步:将mycat压缩包上传到linux服务器并解压!(略)

 

第二步:修改server.xml 

 

第三步:修改schema.xml 

 

第四步:验证数据库访问情况

mysql -u root -h 192.168.40.112 -P 3306  -p

mysql -u root -h 192.168.40.111 -P 3306  -p

 

如果本机远程访问报错,请建对应用户

grant all privileges on *.* to root@'缺少的host' identified by '密码'

 

第五步:启动程序

控制台启动:去mycat/bin 目录下 ./mycat console

后台启动:去mycat/bin目录下 ./mycat start 

启动时可能出现报错:

域名解析失败

1、用vim 修改 /etc/hosts文件

2、修改后重新启动网络服务

 

第六步:登录

数据窗口: mysql -u root -P 8066 -h 192.168.40.111 -p

 

后台管理窗口:mysql -u root -P 9066 -h 192.168.40.111 -p

 

注意:此时还未开启读写分离

 

第七步:读写分离 

balance 负载均衡类型,目前的取值有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执行,writeHost不负担读压力。

 

修改sechema.xml -->重启mycat

 

 

此时读写分离已经完成!!!!!

 

 

 

 

 

TAG

网友评论

共有访客发表了评论
请登录后再发布评论,和谐社会,请文明发言,谢谢合作! 立即登录 注册会员