MySQL8主从数据库配置(Linux)

概述

本文将教你如何在Linux系统下配置MySQL8的主从数据库,以实现数据的复制和备份。MySQL的主从复制机制可以提高数据库的可用性和性能,同时也能够提供备份和故障恢复的功能。

流程概览

下面的表格展示了配置MySQL8主从数据库的步骤流程:

步骤 描述
步骤一 安装MySQL8
步骤二 配置主数据库
步骤三 配置从数据库
步骤四 启动主从数据库
步骤五 验证主从复制

下面将逐步介绍每个步骤需要做的事情和相应的代码。

步骤一:安装MySQL8

首先,你需要在Linux系统上安装MySQL8。可以使用以下命令进行安装:

sudo apt update
sudo apt install mysql-server

步骤二:配置主数据库

在主数据库上进行以下配置:

  1. 编辑MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,设置以下参数:
# 在[mysqld]部分添加以下配置
server-id=1
log_bin=master-bin
  1. 重启MySQL服务以使配置生效:
sudo systemctl restart mysql
  1. 创建用于主从复制的用户,并授予相应的权限:
# 登录MySQL控制台
mysql -u root -p

# 创建复制用户
CREATE USER 'replication'@'%' IDENTIFIED BY 'password';

# 授予复制用户权限
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';

# 刷新权限
FLUSH PRIVILEGES;

# 查看主数据库状态
SHOW MASTER STATUS;
  1. 记下主数据库的FilePosition的值,后面配置从数据库时会用到。

步骤三:配置从数据库

在从数据库上进行以下配置:

  1. 编辑MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf,设置以下参数:
# 在[mysqld]部分添加以下配置
server-id=2
  1. 重启MySQL服务以使配置生效:
sudo systemctl restart mysql
  1. 登录从数据库的MySQL控制台,并执行以下命令:
# 登录MySQL控制台
mysql -u root -p

# 停止从数据库复制
STOP SLAVE;

# 配置从数据库复制
CHANGE MASTER TO MASTER_HOST='主数据库IP地址', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='主数据库的log文件名', MASTER_LOG_POS=主数据库的log文件位置;

# 启动从数据库复制
START SLAVE;

# 查看从数据库状态
SHOW SLAVE STATUS\G;

步骤四:启动主从数据库

现在,你已经完成了主从数据库的配置。可以通过以下命令启动主从数据库:

# 启动主数据库
sudo systemctl start mysql

# 启动从数据库
sudo systemctl start mysql

步骤五:验证主从复制

最后,你可以验证主从复制是否成功。可以通过以下命令查看主从数据库的状态:

# 查看主数据库状态
SHOW MASTER STATUS\G;

# 查看从数据库状态
SHOW SLAVE STATUS\G;

如果主从复制成功,你应该能够看到相应的状态信息。

甘特图

下面是使用mermaid语法绘制的甘特图,用于展示配置主从数据库的时间安排。

gantt
    dateFormat  YYYY-MM-DD
    title       MySQL8主从数据库配置
    section 安装MySQL
    安装MySQL8           :done,    des1, 2022-01-01, 2022-01-02
    section 配置主数据库
    编辑配置文件           :done,    des2, 2022-01-03, 2022-01-04
    重启MySQL服务        :done,    des3, 2022-01-04, 2022-01-04
    创建复制用户         :done,    des4, 2022-01-05,