MST

星途 面试题库

面试题:MariaDB多源复制的常见应用场景有哪些及简述其基本配置方法

请阐述MariaDB多源复制在实际项目中较为常见的应用场景,并简要说明MariaDB多源复制的基本配置步骤。
24.6万 热度难度
数据库MariaDB

知识考点

AI 面试

面试题答案

一键面试

MariaDB多源复制常见应用场景

  1. 数据整合:从多个不同数据源(如不同业务线的数据库)将数据汇聚到一个汇总数据库中,便于统一分析和报表生成。例如,电商企业中,订单数据库、用户数据库和商品数据库的数据可通过多源复制整合到数据分析数据库。
  2. 异地灾备:当存在多个异地数据中心时,每个数据中心可能有本地产生的数据,通过多源复制可以将多个异地数据中心的数据复制到灾备中心,确保数据的安全性和容灾能力。
  3. 微服务架构数据同步:在微服务架构下,不同的微服务可能有自己独立的数据库,为了保持数据一致性或进行数据汇总,可利用多源复制将各微服务数据库的数据同步到特定数据库。

MariaDB多源复制基本配置步骤

  1. 配置主库
    • 在每个主库的my.cnf文件中设置唯一的server-id,例如:
[mysqld]
server-id = 1
- 启用二进制日志,添加如下配置:
log-bin=mysql-bin
- 重启MariaDB服务使配置生效。

2. 配置从库: - 在从库的my.cnf文件中设置唯一的server-id,如:

[mysqld]
server-id = 2
- 重启MariaDB服务。

3. 设置复制用户:在每个主库上创建用于从库复制的用户,例如:

CREATE USER'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO'replication_user'@'%';
FLUSH PRIVILEGES;
  1. 获取主库状态:在每个主库上执行SHOW MASTER STATUS;,记录下FilePosition的值。
  2. 配置从库复制:在从库上针对每个主库执行以下命令配置复制:
CHANGE MASTER TO
    MASTER_HOST='master1_host',
    MASTER_USER='replication_user',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='master1_log_file',
    MASTER_LOG_POS=master1_log_position
    FOR CHANNEL'master1_channel';

CHANGE MASTER TO
    MASTER_HOST='master2_host',
    MASTER_USER='replication_user',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='master2_log_file',
    MASTER_LOG_POS=master2_log_position
    FOR CHANNEL'master2_channel';
  1. 启动多源复制:在从库上执行START SLAVE FOR CHANNEL'master1_channel';START SLAVE FOR CHANNEL'master2_channel';启动多源复制。
  2. 检查复制状态:执行SHOW SLAVE STATUS FOR CHANNEL'master1_channel'\G;SHOW SLAVE STATUS FOR CHANNEL'master2_channel'\G;确保Slave_IO_RunningSlave_SQL_Running都为Yes,且Seconds_Behind_Master为0或接近0。