MySQL主从复制读写分离笔记

一、主从复制原理

  • 主库(Master):负责写入,开启 binlog 日志
  • 从库(Slave):负责读取,通过 IO 线程同步 binlog
  • 最终目标:主从数据一致,实现读写分离

二、主库配置(my.cnf)

ini

复制代码
[mysqld]
server-id=1
log_bin=mysql-bin
binlog_format=ROW
expire_logs_days=7

重启:

bash

运行

复制代码
systemctl restart mysqld

三、主库创建复制账号

sql

复制代码
CREATE USER 'myslave'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'%';
FLUSH PRIVILEGES;

查看 binlog 位置:

sql

复制代码
SHOW MASTER STATUS;

记下:

  • File: mysql-bin.000001
  • Position: 156

四、从库配置(my.cnf)

ini

复制代码
[mysqld]
server-id=2
relay_log=relay-bin
read_only=1

重启:

bash

运行

复制代码
systemctl restart mysqld

五、从库关联主库

sql

复制代码
CHANGE MASTER TO
MASTER_HOST='192.168.x.x',
MASTER_USER='myslave',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=156;

启动复制:

sql

复制代码
START SLAVE;

查看状态:

sql

复制代码
SHOW SLAVE STATUS\G

成功标志:

  • Slave_IO_Running: Yes
  • Slave_SQL_Running: Yes
相关推荐
Cloud云卷云舒4 小时前
云卷云舒:从Oracle/MySQL迁移到HaishanDB:迁移评估工具核心技术拆解
mysql·oracle·ai-native·haishandb·信创数据库替换
遇乐的果园6 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
遇乐的果园7 小时前
前端学习笔记-vue状态管理优化
前端·笔记·学习
用户71333585156247 小时前
MySQL - 事务、redo/undo 日志与 MVCC
mysql
摇滚侠8 小时前
Java 全栈开发实战教程 课程笔记 29-33
笔记
茯苓gao8 小时前
嵌入式开发笔记:EtherCAT协议从硬件到软件完整配置指南——从零搭建一套EtherCAT通信系统
笔记·嵌入式硬件·学习
用户71333585156248 小时前
MySQL - InnoDB 的 Buffer Pool
mysql
whyTeaFo9 小时前
GAMES101: Lecture 9: Shading 3(Texture Mapping cont.) ppt笔记
笔记
欲速不达882010 小时前
Mysql并发DML锁等待的优化
数据库·mysql
chase。10 小时前
【学习笔记】PointWorld:迈向通用机器人操控的3D世界模型
笔记·学习·机器人