Mycat入门

1.什么是Mycat?

Mycat是数据库中间件,所谓中间件,是一类连接软件组件和应用的计算机软件,以便软件各部件之间的通信。

2.为什么要用Mycat? 

  • Java与数据库的紧密耦合

  • 高访问量高并发对数据库的压力

  • 读写请求数据不一致

3.Mycat应用场景 

  • 读写分离
  • 数据分片
    • 垂直拆分(分库)
    • 水平拆分(分表)

4.原理 

Mycat 的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的 SQL 语句,首先对 SQL 语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此 SQL 发 往后端的==真实数据库==,并将返回的结果做适当的处理,最终再返回给用户。

5.具体操作 

5.1准备环境

准备两台以上linux服务器:主节点、从节点。

5.2搭建mysql集群---主从模式

  1. 主从复制原理

 复制步骤:

  • Master 主库在事务提交时,会把数据变更作为事件Events 记录在二进制日志文件 Binlog 中。

  • 主库推送二进制日志文件 Binlog 中的日志事件到从库的中继日志 Relay Log 。

  • slave重做中继日志中的事件,将改变反映它自己的数据。

优点: 

  • 主库出现问题,可以快速切换到从库提供服务。

  • 可以在从库上执行查询操作,从主库中更新,实现读写分离,降低主库的访问压力。

  • 可以在从库中执行备份,以避免备份期间影响主库的服务。

 具体操作:

1.在主节点的配置文件(/etc/my.cnf)中,配置如下内容:

#mysql 服务ID,保证整个集群环境中唯一
server-id=1

#mysql binlog 日志的存储路径和文件名
log-bin=/var/lib/mysql/mysqlbin

#是否只读,1 代表只读, 0 代表读写
read-only=0

#忽略的数据, 指不需要同步的数据库
#binlog-ignore-db=mysql

#指定同步的数据库
#binlog-do-db=db01

2.重启MySQL:

systemctl restart mysqld

3.创建同步数据的账户,并且进行授权操作:设置远程访问。(如果设置过允许mysql远程访问---那么该步骤可以省略)

grant replication slave on *.* to 'root'@'192.168.234.134' identified by 'root';	

flush privileges;

 4. 查看master状态:

show master status;

File : 从哪个日志文件开始推送日志文件 
Position : 从哪个位置开始推送日志
Binlog_Ignore_DB : 指定不需要同步的数据库

5.在从节点配置文件中配置如下内容:

#mysql服务端ID,唯一
server-id=2

#指定binlog日志
log-bin=/var/lib/mysql/mysqlbin

6.重启MySQL

7.绑定主节点----指定当前从库对应的主库的IP地址,用户名,密码,从哪个日志文件开始的那个位置开始同步推送日志。

change master to master_host= '192.168.234.134', master_user='root', master_password='123456', master_log_file='mysqlbin.000001', master_log_pos=154;

8.开启同步操作

start slave;

show slave status\G;

9.停止同步操作

stop slave;
reset master;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值