MySQL数据库的主从复制是一种常见的数据备份和高可用性解决方案。通过配置主从复制,可以实现将数据从一个MySQL服务器(主服务器)同步到另一个(从服务器),从而提高数据库的可用性和性能。

一、确保MySQL服务器安装并启动

首先,确保你的系统中已经安装了MySQL服务器,并且MySQL服务已经启动。本文档是在Mac系统上安装虚拟机模拟linux环境。

虚拟机安装了ubuntu22 两个系统。

两个系统都使用“无界面启动”,如下图:

每个系统安装了宝塔且安装了MySQL8并创建了测试数据库zc_book,如下图:

二、配置主服务器

1、修改MySQL配置,如下图:


  1. 重启MySQL


2、SSH连接到服务器并登陆MySQL,如下图:


3、创建账号并授权,如下图:

CREATE USER 'slave1'@'192.168.%.%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'192.168.%.%';
ALTER USER 'slave1'@'192.168.%.%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;


4、查看主服务器二进制日志名和偏移量

show master status;


到此主服务器的配置就配置完成了,接下来去配置从服务器。

三、配置从服务器

1、修改MySQL配置文件,保存后重启,如下图:


2、SSH连接服务器并登陆mysql,然后执行主从配置以及启动slave,如下图:

CHANGE MASTER TO
MASTER_HOST='192.168.56.101',
MASTER_USER='slave1',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=157;
start slave;


其中,'master_host'是主服务器的IP地址或主机名,'master_user'是复制用户的用户名,'master_password'是复制用户的密码,'master_log_file'和'master_log_pos'是从主服务器中获取到的File和Position的值。

3、执行SHOW SLAVE STATUS \G命令,检查Slave_IO_Running和Slave_SQL_Running的值是否为'Yes',以确保主从复制已经成功配置

配置完成后,主服务器上的数据将会同步到从服务器上,实现了主从复制。

四、测试