【MySQL数据库管理问答题】第12章 配置复制拓扑

目录

1. 什么是 MySQL 的复制技术,在生产上有哪些典型应用案例?

2. 结合 AG 练习册内容,说明在配置复制时的流程以及你认为的注意事项。

3. 相对于坐标位置,使用 GTID 配置复制时都具备哪些优势?

4. 在对复制应用过滤规则时,给出你所知道的方法并说明各自的适用场合。

5. 二进制日志有哪几种记录格式,请详细加以说明。

6. 请说明在复制拓扑中,中继日志集和从属服务器状态日志的作用。


1. 什么是 MySQL 的复制技术,在生产上有哪些典型应用案例?

(1)MySQL 的复制技术:
MySQL 的复制技术是指将一个 MySQL 服务器的数据复制到另一个 MySQL 服务器的过程。通常包括一个主服务器 (Master) 和一个或多个从服务器 (Slave)
复制可以是单向的(从主服务器到从服务器),也可以是双向或链式的。
在复制过程中,主服务器将其二进制日志 (binary log) 传输给从服务器,从服务器通过重放这些日志来保持与主服务器的数据一致。
(2)在生产上的典型应用案例:
高可用性:通过主从复制,可以在主服务器故障时快速切换到从服务器,确保服务持续可用。
读写分离:在高并发应用中,主服务器处理写操作,从服务器处理读操作,从而提高整体性能。
备份与恢复:通过从服务器备份数据,降低对主服务器的影响,并加快恢复速度。
数据分布:将数据复制到地理位置不同的数据中心,实现跨地域的低延迟访问。

2. 结合 AG 练习册内容,说明在配置复制时的流程以及你认为的注意事项。

(1)配置 MySQL 复制的基本流程:
在主服务器上启用二进制日志:
MySQL 配置文件 (my.cnf my.ini) 中启用 log-bin 选项,并设置唯一的 server-id
例如:
[mysqld]
log-bin=mysql-bin
server-id=1
创建复制用户:
在主服务器上创建一个有 REPLICATION SLAVE 权限的用户,用于从服务器连接主服务器: CREATE USER 'repl'@'slave_host' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'slave_host';
在从服务器上配置复制:
在从服务器上设置唯一的 server-id 并使用 CHANGE MASTER TO 命令配置主服务器的连接
信息:
[mysqld]
server-id=2
CHANGE MASTER TO MASTER_HOST='master_host',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS= 4;
启动复制进程:
在从服务器上启动复制:
START SLAVE;
验证复制状态:
通过 SHOW SLAVE STATUS\G 命令检查复制是否正常工作。
(2)配置复制时的注意事项:
数据一致性:在配置复制前,确保主从服务器的数据一致性。可以使用 mysqldump 进行初始数据的导入。
时钟同步:确保主从服务器的系统时钟同步,以避免由于时间差异导致的数据不一致问题。
网络连接:保证主从服务器之间的网络连接稳定,以减少复制延迟。
复制过滤规则:在需要时,可以配置复制过滤规则,选择性地复制特定数据库或表。

3. 相对于坐标位置,使用 GTID 配置复制时都具备哪些优势?

GTID( Global Transaction ID ) 是 MySQL 5.6 及以上版本引入的一种新的复制方式。
与基于文件和坐标的复制相比,GTID 具有以下优势:
简化故障恢复 GTID 使从服务器可以自动找到需要应用的事务,而无需人工处理文件名和坐标位置,简化了故障恢复流程。
增强容错能力 GTID 跟踪每个事务,避免重复执行或遗漏事务,确保数据一致性。
自动主从切换 GTID 支持更方便的主从切换和从服务器提升为主服务器,特别是在高可用性架构中。
简化复制管理 GTID 使得添加新的从服务器更加容易,因为无需考虑二进制日志文件和坐标位置。

4. 在对复制应用过滤规则时,给出你所知道的方法并说明各自的适用场合。

复制过滤规则允许在主从复制过程中选择性地复制特定的数据库或表。常见的方法有:
基于数据库的过滤:
binlog-do-db / binlog-ignore-db :在主服务器上配置,指定哪些数据库应记录在二进制日志中或被忽略。
适用场合:主服务器上存在多个数据库,但只希望某些数据库参与复制。
基于表的过滤:
replicate-do-table / replicate-ignore-table :在从服务器上配置,指定要复制或忽略的表。
适用场合:需要从服务器只复制特定的表,而忽略其他表的数据。
基于前缀的过滤:
replicate-wild-do-table / replicate-wild-ignore-table :在从服务器上配置,通过通配符选择要复制或忽略的表。
适用场合:当表名具有相同的前缀或模式时使用,便于配置和管理。

5. 二进制日志有哪几种记录格式,请详细加以说明。

二进制日志的记录格式:
STATEMENT (语句级):
说明:记录每一个执行的 SQL 语句。
优点:日志文件较小,复制性能较好。
缺点:某些情况下可能无法确保数据一致性(如使用非确定性函数)。
ROW (行级):
说明:记录每一行数据的变化,而不是记录 SQL 语句本身。
优点:保证数据的一致性,因为直接记录了数据的变化。
缺点:日志文件较大,占用更多磁盘空间。
MIXED (混合模式):
说明:根据具体操作自动选择语句级或行级日志。大多数情况下使用语句级,只有在无法保证一致性时才使用行级。
优点:兼顾了性能和一致性。
缺点:复杂性增加,调试和分析日志时需要更多理解

6. 请说明在复制拓扑中,中继日志集和从属服务器状态日志的作用。

(1)中继日志 (Relay Log)
作用:中继日志是从服务器接收到的主服务器的二进制日志拷贝。从服务器会从中继日志中读取并执行相应的 SQL 操作。这是实现复制的关键机制之一,确保从服务器应用主服务器的所有更改。
② 重要性:中继日志使得从服务器可以在网络中断或其他问题出现时保持同步状态,因为它可以在问题解决后继续从中继日志中读取并执行操作。
(2)从属服务器状态日志:
作用:从属服务器状态日志 (master.info relay-log.info) 存储了从服务器当前复制进度的信息,包括主服务器的二进制日志文件名和位置以及中继日志的处理进度。这些信息用于确保从服务器在重新启动或复制中断后能够正确恢复并继续复制。
② 重要性:在复制配置和故障恢复中至关重要,确保复制状态的一致性和完整性。
  • 15
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值