MySQL 8单机安装主从
简介
在MySQL数据库中,主从复制是一种常用的数据备份和高可用性的解决方案。主从复制的基本原理是将一个MySQL数据库服务器(主服务器)上的数据同步到另一个MySQL数据库服务器(从服务器)。当主服务器发生故障时,可以快速切换到从服务器,确保系统的可用性和数据的完整性。
本文将介绍如何在MySQL 8中进行单机安装主从配置,并提供详细的步骤和代码示例。
流程概述
下表展示了实现MySQL 8单机安装主从的步骤:
步骤 | 描述 |
---|---|
步骤1 | 安装MySQL 8 |
步骤2 | 配置主服务器 |
步骤3 | 配置从服务器 |
步骤4 | 启动主从复制 |
接下来,我们将详细介绍每个步骤的操作和相应的代码示例。
步骤1:安装MySQL 8
首先,我们需要安装MySQL 8数据库。请按照官方文档进行安装,并确保安装成功。
步骤2:配置主服务器
- 打开MySQL配置文件my.cnf,通常位于/etc/mysql/my.cnf。
- 在[mysqld]节中添加以下配置:
server-id=1
log-bin=mysql-bin
binlog-format=row
- 重启MySQL服务器以使配置生效。
步骤3:配置从服务器
- 打开MySQL配置文件my.cnf,通常位于/etc/mysql/my.cnf。
- 在[mysqld]节中添加以下配置:
server-id=2
- 重启MySQL服务器以使配置生效。
步骤4:启动主从复制
- 在主服务器上,打开MySQL客户端,创建用于复制的用户并赋予相应的权限:
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;
- 在主服务器上执行以下命令,获取主服务器的状态信息:
SHOW MASTER STATUS;
-
记下File和Position的值,稍后会在从服务器上使用。
-
在从服务器上,打开MySQL客户端,执行以下命令:
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='主服务器IP', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='File', MASTER_LOG_POS=Position;
START SLAVE;
将上述命令中的主服务器IP、replication_user、password、File和Position替换为实际的值。
- 在从服务器上执行以下命令,检查从服务器是否成功连接到主服务器:
SHOW SLAVE STATUS\G
如果Slave_IO_Running和Slave_SQL_Running的值都为YES,说明主从复制已成功启动。
甘特图
使用mermaid语法表示的甘特图如下所示:
gantt
title MySQL 8单机安装主从
section 安装
安装MySQL 8: done, 2022-01-01, 1d
section 配置主服务器
配置主服务器: done, 2022-01-02, 1d
section 配置从服务器
配置从服务器: done, 2022-01-03, 1d
section 启动主从复制
创建复制用户: done, 2022-01-04, 1d
获取主服务器状态信息: done, 2022-01-05, 1d
配置从服务器连接到主服务器: done, 2022-01-06, 1d
检查主从复制状态: done, 2022-01-07, 1d
关系图
使用mermaid语法表示的关系图如下所示:
erDiagram
MASTER_SERVER ||--|{ SLAVE_SERVER
MASTER_SERVER {
int server_id
varchar log_bin
varchar binlog_format
}
SLAVE_SERVER {
int server_id
}
MASTER_SERVER }|..|{ REPLICATION_USER
REPLICATION_USER