【MySQL】如何配置复制拓扑?-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

前言

关于MySQL中的复制技术相关内容可以看看这些文章
【MySQL】MySQL中的复制技术是什么它有哪些组成部分
【MySQL】怎么理解复制技术中的复制冲突Replication Conflicts什么时候使用复制技术
【MySQL】MySQL中的二进制日志它有哪些格式

配置大框架

  1. 根据业务规划并绘制复制拓扑图。
  2. 标识参与复制的所有服务器包括它们之间的主从关系。注意一个主服务器如果也从另一个主服务器复制那么这个主服务器也是复制从属服务器。
  3. 为每个服务器配置唯一的 server-id。server-id是默认值为1的无符号 32 位整数。
  4. 配置每个主服务器
  5. 配置每个复制从属服务器以连接到主服务器
  6. 使用 START SLAVE 在每个复制从属服务器上启动复制

下面我们分别来看下如何配置复制主服务器和复制从属服务器

配置复制主服务器master

  • 启用 TCP/IP 网络。各服务器之间通过网路通信。
  • 启用二进制日志。在复制过程中每个主服务器将其日志内容发送到每个从属服务器。
  • 创建具有 REPLICATION SLAVE 权限的用户最小权限原则。在有多个从属服务器的主服务器上在主机名中指定通配符可以匹配所有从站或者创建多个用户。
    示例CREATE USER user@slave_hostname IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO user@slave_hostname;
  • 备份主数据库作为从属服务器开始复制的起点。在启动复制之前要备份主服务器上的数据库因为此时从属服务器上的数据库是空的要先将备份应用到从属服务器上保证主服务器和从属服务器的数据一致性。
    • 若使用 mysqldump 执行备份那么可以用–master-data=2 选项自动在转储文件中加入change master to 这个语句这条语句能让导入该主库备份的服务器变为从属服务器。不过这个语句默认加上了注释符如果需要使用就手动去掉注释符。
  • 使用日志坐标或GTID标识记录。
    • 在集群中必须使用GTID。GTID是全局事务标识符。能够唯一标识复制拓扑中的每个事务。它是一种更方便的日志定位技术。它由执行事务的服务器的UUID和事务的顺序编号组成。比如 0ed18583-47fd-11e2-92f3-0019b944b7f7:338 冒号前面是执行事务的服务器的UUID冒号后面是事务的编号。

配置复制从属服务器slave

  • 从主服务器备份恢复。
    • 如果使用 GTID则验证是否设置了 gtid_purged 变量。
  • 使用CHANGE MASTER TO语句配置从属服务器。在每个从属服务器上执行CHANGE MASTER TO语句该语句用于配置从属服务器以连接到主服务器并开始复制。以下是一些常见的配置选项
    • 主服务器的网络位置使用MASTER_HOST和MASTER_PORT指定主服务器的主机名和端口。
    • 复制帐户用户名和口令使用MASTER_USER和MASTER_PASSWORD指定具有REPLICATION SLAVE权限的帐户的用户名和口令。这个账户就是之前在主服务器上创建的账户。
    • 开始复制的二进制日志坐标如果不使用GTID使用MASTER_LOG_FILE和MASTER_LOG_POS指定从属服务器开始复制的二进制日志文件和位置。如果使用GTID可以指定MASTER_AUTO_POSITION=1来自动获取复制位置。

复制过滤规则

BLACKHOLE存储引擎可以过滤数据不过它是表级别的。另一种控制复制内容的方法是使用复制过滤规则。它既可以在数据库级别也可以在表级别。
MySQL提供了复制过滤规则通过这些规则我们可以控制复制的范围以确保只复制需要的数据到从属服务器。复制过滤规则可以应用于主服务器用于写入二进制日志或从属服务器用于读取中继日志。
过滤器是应用于主服务器或从属服务器的服务器选项。

  • 主服务器写入二进制日志时应用 binlog-* 过滤器
  • 从属服务器读取中继日志时应用 replicate-* 过滤器

应用过滤器时考虑优先规则
– 数据库过滤器优先于表过滤器应用
– 表通配符过滤器 -wild- 在不使用通配符的那些过滤器之后应用
-do- 过滤器先于各个 -ignore- 过滤器应用

感谢

好啦这次的分享就到这里感谢大家看到这里

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: mysql