MySQL8主从数据库配置(Linux)
概述
本文将教你如何在Linux系统下配置MySQL8的主从数据库,以实现数据的复制和备份。MySQL的主从复制机制可以提高数据库的可用性和性能,同时也能够提供备份和故障恢复的功能。
流程概览
下面的表格展示了配置MySQL8主从数据库的步骤流程:
步骤 | 描述 |
---|---|
步骤一 | 安装MySQL8 |
步骤二 | 配置主数据库 |
步骤三 | 配置从数据库 |
步骤四 | 启动主从数据库 |
步骤五 | 验证主从复制 |
下面将逐步介绍每个步骤需要做的事情和相应的代码。
步骤一:安装MySQL8
首先,你需要在Linux系统上安装MySQL8。可以使用以下命令进行安装:
sudo apt update
sudo apt install mysql-server
步骤二:配置主数据库
在主数据库上进行以下配置:
- 编辑MySQL配置文件
/etc/mysql/mysql.conf.d/mysqld.cnf
,设置以下参数:
# 在[mysqld]部分添加以下配置
server-id=1
log_bin=master-bin
- 重启MySQL服务以使配置生效:
sudo systemctl restart mysql
- 创建用于主从复制的用户,并授予相应的权限:
# 登录MySQL控制台
mysql -u root -p
# 创建复制用户
CREATE USER 'replication'@'%' IDENTIFIED BY 'password';
# 授予复制用户权限
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';
# 刷新权限
FLUSH PRIVILEGES;
# 查看主数据库状态
SHOW MASTER STATUS;
- 记下主数据库的
File
和Position
的值,后面配置从数据库时会用到。
步骤三:配置从数据库
在从数据库上进行以下配置:
- 编辑MySQL配置文件
/etc/mysql/mysql.conf.d/mysqld.cnf
,设置以下参数:
# 在[mysqld]部分添加以下配置
server-id=2
- 重启MySQL服务以使配置生效:
sudo systemctl restart mysql
- 登录从数据库的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,