MySQL主从、集群模式简单介绍

目录

1、主从模式 Replication

2、集群模式

3、主从模式部署注意事项


主从模式、集群模式,都是在一个项目中使用多个mysql节点进行存储和读取数据。

当单机模式部署,不满足安全性、高可用、高并发等需求的时候,就需要考虑主从模式或者集群模式部署。

1、主从模式 Replication

  • 主从模式,或者是叫主从架构、主从复制,有以下几种常见方案:一主一从、一主多从、多主一从、互为主备、级联复制等。
  • 主数据库必须开启binary log(二进制)功能,因为主从同步所有的操作都是基于二进制文件来完成的。
  • 数据同步模式有:
    • 异步模式:主库将事务binlog事件写入到binlog文件中,此时主库只会通知一下dump线程发送这些新的binlog,然后主库就会继续处理提交操作,而此时不会保证这些binlog传到任何一个从库节点上。
    • 半同步模式:主库只需要等待至少一个从库节点收到并且Flush binlog到relay-log文件即可,主库不需要等待所有从库给主库反馈。同时,这里只是一个收到的反馈,而不是已经完全执行并且提交的反馈。
    • 全同步模式:当主库提交事务之后,所有的从库节点必须全部收到,APPLY并且提交这些事务,然后主库线程才能继续做后续操作。

1、主从复制指的是当主数据库中进行了update、insert、delete操作导致数据发生改变时,变化会实时同步到一个或者多个从数据库(slave)中。

​2、默认情况下异步复制、无需维持长连接。

​3、通过配置可以选择想要同步的库和表。

2、集群模式

集群最大的优点就是数据实时同步,高可用,每个节点的数据都是同步一致的,不像主从,有时会出现数据不一致,而高可用,任何一个节点宕机都不会影响业务。

集群模式有以下集中常见部署方式:

  • 读写分离的集群模式:集群中有的节点只进行写入操作,有的节点只进行读取操作,每个节点的数据都是完全一致的。
  • 分片(分库分表)集群模式:集群中所有的节点表结构一致,每个节点存储的数据不一样。分片算法主要有两种,一种是范围法(1-100条数据在节点A,101-200条数据在节点B),另一种是HASH法(对每条数据按照一定的算法分配到不同的存储节点)。
  • 读写分离和分片模式组合应用,先进行分片模式部署,然后对每个分片进行读写分离模式部署。

3、主从模式部署注意事项

  • 常用命令(执行命令之前stop服务,执行完再start):
    • 查看主节点状态:show master status\G;
    • 查看从节点状态:show slave status\G;
    • 停止同步:stop slave;
    • 开启同步:start slave;
    • 修改Master_Log_File:CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000026', MASTER_LOG_POS=0; 
    • 修改master节点信息:CHANGE MASTER TO MASTER_HOST='192.168.203.141', MASTER_PORT=33060,MASTER_USER='root', MASTER_PASSWORD='123456';
    • 删除当前节点的 binlog 文件:PURGE BINARY LOGS TO 'binlog.000001';
    • 数据的操作日志位置:SHOW BINARY LOGS;
    • 数据的真实具体位置:SHOW GLOBAL VARIABLES LIKE "%datadir%";
  • 每个节点的slave_sql_running、Slave_IO_Running两个字段都是YES,集群状态才正常
  • 主服务器查看主节点状态,显示的 File 字段,和从服务器查看从节点状态,显示的 Master_Log_File 字段,必须保持一致。 
  • slave_sql_running为No的话,可能是主从库数据不同步,可以同步一下数据。
  • 数据导出命令(在mysql服务器执行,不需要登录数据库):
    • mysqldump -u[用户名] -h[ip] -p[密码] -P[端口号]  --databases 数据库名 --tables 表名 >导出的文件名.sql
  • 数据库导入命令(导入的时候需要指定数据库,保证指定的数据库存在):
    • mysqldump -u[用户名] -h[ip] -p[密码] -P[端口号] < 导入的文件名.sql

猜你喜欢

转载自blog.csdn.net/jierxiaoyao/article/details/124994108