MySQL 8.0主从复制是一种用于在数据库中实现数据备份和负载均衡的技术,通过将一个数据库服务器(主服务器)上的数据复制到另一个数据库服务器(从服务器),可以实现数据的冗余和高可用性,本文将详细介绍如何在MySQL 8.0中搭建和配置主从复制。
环境准备
1、主服务器:一台运行MySQL 8.0的服务器,用于存储数据并处理客户端请求。
2、从服务器:一台运行MySQL 8.0的服务器,用于接收主服务器上的数据复制。
3、网络连接:确保主服务器和从服务器之间可以通过网络进行通信。
主服务器配置
1、修改主服务器的配置文件my.cnf(或my.ini),添加以下内容:
[mysqld] server-id=1 log-bin=mysql-bin binlog-format=row
2、重启MySQL服务:
sudo service mysql restart
3、创建用于复制的用户并授权:
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES;
4、查看主服务器状态:
SHOW MASTER STATUS;
记下File和Position的值,稍后在从服务器上配置时需要用到。
从服务器配置
1、修改从服务器的配置文件my.cnf(或my.ini),添加以下内容:
[mysqld] server-id=2 relay-log=relay-bin
2、重启MySQL服务:
sudo service mysql restart
3、在从服务器上执行以下命令,配置主服务器信息:
CHANGE MASTER TO MASTER_HOST='主服务器IP', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='File值', MASTER_LOG_POS=Position值;
4、启动从服务器的复制进程:
START SLAVE;
5、查看从服务器状态,确认复制是否成功:
SHOW SLAVE STATUS\G;
如果Slave_IO_Running和Slave_SQL_Running的值都是Yes,表示主从复制已经成功搭建。
测试主从复制
1、在主服务器上创建一个表并插入一些数据:
CREATE TABLE test (id INT, name VARCHAR(20)); INSERT INTO test VALUES (1, '张三'), (2, '李四');
2、在从服务器上查询刚刚插入的数据,确认数据已经同步:
SELECT * FROM test;
至此,MySQL 8.0主从复制已经搭建完成,在实际生产环境中,可以根据需要对主从复制进行优化和调整,以满足不同的业务需求。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/338478.html