
MySQL主从复制是一种常见的数据同步方案,能够有效提升数据库的可用性和性能。本文将详细介绍如何搭建MySQL一主一从架构,并验证数据同步。
一、主从复制原理
MySQL主从复制基于二进制日志(binlog)实现,主库将数据变更记录到binlog,从库读取并重放这些日志,从而实现数据同步。
二、环境准备
- 主库:192.168.1.1
- 从库:192.168.1.2
- MySQL版本:5.7+
三、主库配置
修改配置文件 my.cnf:
[mysqld] server-id=1 # 主库唯一ID log-bin=mysql-bin # 开启binlog binlog-format=ROW # 推荐使用ROW格式
创建复制用户:
CREATE USER 'repl'@'192.168.1.2' IDENTIFIED BY 'repl_password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.2'; FLUSH PRIVILEGES;
重启MySQL服务:
systemctl restart mysqld
四、从库配置
修改配置文件 my.cnf:
[mysqld] server-id=2 # 从库唯一ID
配置主库信息:
CHANGE MASTER TO MASTER_HOST='192.168.1.1', MASTER_USER='repl', MASTER_PASSWORD='repl_password', MASTER_LOG_FILE='mysql-bin.000001', # 主库show master status获取 MASTER_LOG_POS=4; # 主库show master status获取
启动复制:
START SLAVE;
查看复制状态:
SHOW SLAVE STATUSG
确保
Slave_IO_Running
和Slave_SQL_Running
均为Yes
。
五、验证主从复制
在主库创建测试数据:
CREATE DATABASE test; USE test; CREATE TABLE t1 (id INT PRIMARY KEY, name VARCHAR(20)); INSERT INTO t1 VALUES (1, 'Alice');
在从库查询数据:
SELECT * FROM test.t1;
若数据一致,则主从复制配置成功。
六、常见问题排查
- Slave_IO_Running 为 No:检查主库连接信息是否正确,网络是否通畅。
- Slave_SQL_Running 为 No:检查从库是否已存在相同数据,或主从库表结构是否一致。
七、总结
通过以上步骤,您已成功搭建MySQL一主一从架构。主从复制不仅提升了数据库的可用性,还为数据备份和读写分离提供了基础。
学在每日,进无止境!更多精彩内容请关注微信公众号。

原文出处:
内容由AI生成仅供参考,请勿使用于商业用途。如若转载请注明原文及出处。
出处地址:http://www.07sucai.com/tech/848.html
版权声明:本文来源地址若非本站均为转载,若侵害到您的权利,请及时联系我们,我们会在第一时间进行处理。