MySQL 主从搭建详细步骤
MySQL 主从复制是指在两个或多个 MySQL 服务器之间同步数据的过程。在主从复制中,一个服务器充当主服务器,负责处理写操作和更新数据,而其他服务器则作为从服务器,负责读取数据。
在本篇文章中,我们将介绍如何搭建 MySQL 主从复制,以实现数据的同步和备份。
步骤一:配置主服务器
首先,在主服务器上进行配置。假设主服务器的 IP 地址为 192.168.1.1
,用户名为 root
,密码为 password
。
- 修改 MySQL 配置文件
my.cnf
,开启二进制日志功能。
```shell
[mysqld]
log-bin=mysql-bin
server-id=1
2. 重启 MySQL 服务。
```markdown
```shell
sudo systemctl restart mysql
3. 创建用于复制的用户,并授权。
```markdown
```sql
CREATE USER 'repl'@'192.168.1.2' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.2';
4. 查看主服务器状态。
```markdown
```sql
SHOW MASTER STATUS;
记下 File 和 Position 的值,后续从服务器配置需要使用。
## 步骤二:配置从服务器
接下来,在从服务器上进行配置。假设从服务器的 IP 地址为 `192.168.1.2`,用户名为 `root`,密码为 `password`。
1. 修改 MySQL 配置文件 `my.cnf`,指定从服务器的 server-id。
```markdown
```shell
server-id=2
2. 重启 MySQL 服务。
```markdown
```shell
sudo systemctl restart mysql
3. 连接到主服务器,并进行复制配置。
```markdown
```sql
CHANGE MASTER TO
MASTER_HOST='192.168.1.1',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=123456;
4. 启动从服务器复制。
```markdown
```sql
START SLAVE;
5. 查看从服务器状态。
```markdown
```sql
SHOW SLAVE STATUS\G;
如果 `Slave_IO_Running` 和 `Slave_SQL_Running` 都为 `Yes`,则说明主从复制已经搭建成功。
## 状态图
```mermaid
stateDiagram
[*] --> 主服务器配置
主服务器配置 --> 从服务器配置
从服务器配置 --> 启动复制
启动复制 --> [*]
结论
通过以上步骤,我们成功搭建了 MySQL 主从复制,实现了数据的同步和备份。主从复制不仅可以提高数据的可靠性和可用性,还可以分担主服务器的读写压力,提升系统性能。希望本文对您有所帮助!