# MySQL8 主从复制配置

在开发中,实现 MySQL8 主从复制配置是一项非常常见且有用的操作。主从复制可以提高系统的容灾能力和读写分离的效果,以及分担主服务器的负载。下面我将为你详细介绍如何进行 MySQL8 主从复制配置。

## 步骤概述

| 步骤 | 描述 |
|------|----------------------------------------|
| 1 | 配置主服务器 |
| 2 | 配置从服务器 |
| 3 | 启动主服务器的二进制日志功能 |
| 4 | 在从服务器上设置连接主服务器的信息 |
| 5 | 启动从服务器的复制功能 |

## 具体操作步骤

### 1. 配置主服务器

首先在主服务器上进行配置,编辑 MySQL 配置文件 `my.cnf`,添加以下内容:

```bash
# 主服务器端配置
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = your_database_name
```

### 2. 配置从服务器

在从服务器上同样编辑 MySQL 配置文件 `my.cnf`,添加以下内容:

```bash
# 从服务器端配置
server-id = 2
```

### 3. 启动主服务器的二进制日志功能

在主服务器上执行以下 SQL 语句,启用二进制日志功能:

```sql
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
```

记录显示的 `File` 和 `Position`,稍后需要在从服务器上使用。

### 4. 在从服务器上设置连接主服务器的信息

在从服务器上执行以下 SQL 语句,连接主服务器并开始复制:

```sql
CHANGE MASTER TO
MASTER_HOST='master_host',
MASTER_USER='replication_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='binary_log_file',
MASTER_LOG_POS=binary_log_position;
```

### 5. 启动从服务器的复制功能

在从服务器上执行以下 SQL 语句,启动复制功能:

```sql
START SLAVE;
```

至此,MySQL8 主从复制配置已经完成。可以通过在主服务器上进行数据操作,从服务器上会同步这些操作。

希望以上内容对你有所帮助,如果有任何问题或疑问,欢迎随时向我提问。祝学习顺利!