MySQL主从服务器 主从灾备

本文介绍了MySQL主从复制架构,包括主服务器处理写操作,从服务器负责读操作和备份,以及如何通过BinaryLogging实现实时同步。提供了基础配置步骤,强调了生产环境中的额外考虑因素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

### MySQL 主从服务器

在 MySQL 主从复制架构中,主服务器(Master)负责处理所有的写操作(INSERT、UPDATE、DELETE 等),而从服务器(Slave)用于复制主服务器上的数据。从服务器通常用于处理读操作(SELECT 等),以分担主服务器的负载。

### 主从灾备

主从灾备是一种高可用性和数据恢复策略,其中主服务器作为主要的数据存储和处理单元,而一个或多个从服务器作为备份。如果主服务器出现故障或宕机,其中一个从服务器可以迅速提升为新的主服务器,以最小化服务中断时间。

### 同一时间有几个在进行工作?

在主从架构中,主服务器一直在进行工作,处理写操作和可能的读操作。从服务器也一直在工作,但主要处理读操作和复制主服务器的数据。

- **主服务器(Master)**: 通常只有一个,负责所有写操作。
- **从服务器(Slave)**: 可以有一个或多个,通常负责读操作和作为灾备。

从服务器可以用于负载均衡,将读操作的负担分散到多个从服务器上,从而提高系统的整体性能和可用性。

总体而言,主从服务器都是在同一时间进行工作的,但它们的职责和用途有所不同。

实时同步在 MySQL 主从复制中是通过 Binary Logging(二进制日志,简称 Binlog)来实现的。主服务器上的所有更改(如 INSERT、UPDATE、DELETE 等)都会被写入 Binlog。从服务器有一个 I/O 线程,它连接到主服务器并复制 Binlog 中的事件,然后再由 SQL 线程应用这些事件,以实现数据的实时同步。

### 配置步骤

#### 在主服务器上:

1. 打开 MySQL 配置文件(通常是 `my.cnf` 或 `my.ini`)。
2. 在 `[mysqld]` 部分下添加以下行:

    ```ini
    log-bin=mysql-bin
    server-id=1
    ```

3. 重启 MySQL 服务。

    ```bash
    sudo systemctl restart mysql
    ```

4. 创建一个用于复制的 MySQL 用户并授权。

    ```sql
    CREATE USER 'replication_user'@'%' IDENTIFIED BY 'your_password';
    GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
    ```

5. 查看主服务器状态以获取当前 Binlog 文件和位置。

    ```sql
    SHOW MASTER STATUS;
    ```

#### 在从服务器上:

1. 打开 MySQL 配置文件。
2. 在 `[mysqld]` 部分下添加以下行:

    ```ini
    server-id=2
    ```

3. 重启 MySQL 服务。

    ```bash
    sudo systemctl restart mysql
    ```

4. 配置从服务器以连接到主服务器。

    ```sql
    CHANGE MASTER TO
    MASTER_HOST='master_ip_address',
    MASTER_USER='replication_user',
    MASTER_PASSWORD='your_password',
    MASTER_LOG_FILE='binlog_file',
    MASTER_LOG_POS=binlog_position;
    ```

    `binlog_file` 和 `binlog_position` 是从主服务器的 `SHOW MASTER STATUS;` 命令中获得的。

5. 启动从服务器上的复制。

    ```sql
    START SLAVE;
    ```

6. 查看从服务器状态以确保复制正在运行。

    ```sql
    SHOW SLAVE STATUS\G;
    ```

这样,主从复制就配置完成了,从服务器应该能实时同步主服务器上的数据更改。

注意:这只是一个基础的主从复制配置指南。在生产环境中,还需要考虑更多的因素,如数据加密、网络安全、错误处理等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值