首页 / 原生VPS推荐 / 正文
MySQL主从配置详解,MySQL主从配置步骤

Time:2025年01月04日 Read:7 评论:42 作者:y21dr45

一、前言

在现代数据库应用中,读写分离和数据备份是保证系统高可用性和数据安全性的重要手段,MySQL主从复制(也称为A/B复制)是一种常见的解决方案,通过将数据从主服务器(Master)复制到从服务器(Slave),实现负载均衡和数据冗余,本文将详细介绍如何进行MySQL的主从配置。

MySQL主从配置详解,MySQL主从配置步骤

二、主从复制的原理

MySQL的主从复制基于二进制日志(Binary Log,简称Binlog),主库将所有对数据库的修改记录到Binlog中,从库通过读取这些日志并将它们在自己的数据库上重新执行,从而实现数据同步。

1、主库(Master)负责处理写操作,并将变更记录到二进制日志中。

2、从库(Slave)通过I/O线程读取主库的Binlog,并将其写入自己的中继日志(Relay Log),随后,SQL线程读取中继日志并在从库上重放这些日志,以实现数据同步。

三、准备工作

在进行主从配置之前,需要确保以下几点:

1、操作系统版本和位数一致:主库和从库应使用相同的操作系统版本和位数。

2、MySQL版本一致:主库和从库的MySQL版本应保持一致。

3、数据初始状态一致:进行主从复制前,确保主库和从库的数据是一致的。

4、网络互通:主库和从库之间必须能够通过网络相互通信。

5、唯一标识:主库和从库的server_id必须不同,且在局域网内唯一。

四、配置步骤

1. 安装MySQL

在主库和从库上分别安装MySQL,可以参考以下命令进行安装:

下载MySQL
wget https://dev.mysql.com/get/mysql8.0-el7-x86_64.tar.gz
解压安装包
tar -zxvf mysql8.0-el7-x86_64.tar.gz
移动到目标目录
mv mysql-8.0.33-el7-x86_64 /usr/local/mysql
创建用户和用户组
groupadd mysql && useradd -r -g mysql mysql
赋予权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql

然后初始化数据目录并启动MySQL服务:

初始化数据目录
cd /usr/local/mysql
./bin/mysqld --initialize --user=mysql
启动MySQL服务
./bin/mysqld_safe --user=mysql &

2. 配置主库

在主库上进行如下配置:

1、编辑配置文件my.cnf

[mysqld]
server-id = 1         # 主库ID
log-bin = mysql-bin   # 开启Binlog
binlog-do-db = testDB # 指定需要复制的数据库

2、重启MySQL服务

systemctl restart mysqld

3、创建复制用户并赋予权限

CREATE USER 'repl'@'%' IDENTIFIED BY 'password123';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

4、锁定表并备份数据

FLUSH TABLES WITH READ LOCK;
mysqldump -u root -p --all-databases --master-data > backup.sql

5、解锁表

UNLOCK TABLES;

记录下show master status\G命令的输出,特别是FilePosition的值。

3. 配置从库

在从库上进行如下配置:

1、编辑配置文件my.cnf

[mysqld]
server-id = 2         # 从库ID,必须与主库不同
relay-log = relay-bin  # 开启中继日志

2、重启MySQL服务

systemctl restart mysqld

3、导入备份数据

mysql -u root -p < backup.sql

4、配置从库连接主库

CHANGE MASTER TO
    MASTER_HOST='主库IP',
    MASTER_USER='repl',
    MASTER_PASSWORD='password123',
    MASTER_LOG_FILE='mysql-bin.xxxxxx',  # 主库Binlog文件名
    MASTER_LOG_POS=xxxx;               # 主库Binlog位置

5、启动从库同步

START SLAVE;

6、检查从库状态

SHOW SLAVE STATUS\G;

如果Slave_IO_RunningSlave_SQL_Running都显示Yes,则表示主从同步已经成功。

五、测试主从复制

在主库上创建一个测试表并插入数据:

USE testDB;
CREATE TABLE test (
    id INT,
    name VARCHAR(20)
);
INSERT INTO test(id, name) VALUES(1, 'Test');

在从库上查看是否同步了该表和数据:

USE testDB;
SHOW TABLES;
SELECT * FROM test;

如果从库上能看到相应的表和数据,说明主从复制配置成功。

通过以上步骤,我们成功实现了MySQL的主从复制配置,这一过程涉及安装MySQL、配置主库和从库、创建复制用户、导出和导入数据以及启动同步等步骤,在实际生产环境中,还需要根据具体需求进行优化和调整,例如设置半同步复制、监控复制状态以及处理复制错误等。

标签: mysql主从配置 
排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1