MySQL数据库的主从复制是一种常见的数据备份和高可用性解决方案。通过配置主从复制,可以实现将数据从一个MySQL服务器(主服务器)同步到另一个(从服务器),从而提高数据库的可用性和性能。
一、确保MySQL服务器安装并启动
首先,确保你的系统中已经安装了MySQL服务器,并且MySQL服务已经启动。本文档是在Mac系统上安装虚拟机模拟linux环境。
虚拟机安装了ubuntu22 两个系统。
两个系统都使用“无界面启动”,如下图:
每个系统安装了宝塔且安装了MySQL8并创建了测试数据库zc_book,如下图:
二、配置主服务器
1、修改MySQL配置,如下图:
重启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',以确保主从复制已经成功配置
配置完成后,主服务器上的数据将会同步到从服务器上,实现了主从复制。