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
相关推荐
羊小蜜.2 小时前
Mysql 01:基础查询(SELECT)全解——从单表到多字段的完整语法
数据库·mysql·查询
猿小喵2 小时前
记录一次从库并行回放出现死锁的问题
数据库·mysql·tdsql
CheerWWW2 小时前
C++学习笔记——枚举、继承、虚函数、可见性
c++·笔记·学习
Heartache boy3 小时前
野火STM32_HAL库版课程笔记-TIM通道捕获应用之编码器模式
笔记·stm32·单片机·嵌入式硬件
熬夜的咕噜猫3 小时前
MySQL主从复制与读写分离
网络·数据库·mysql
道清茗3 小时前
【MySQL知识点问答题】 备份技术、Invisible Indexes 和直方图的应用
数据库·mysql
J超会运3 小时前
OpenEuler MySQL主从复制+MyCat读写分离实战
mysql·读写分离·主从复制
老虎06273 小时前
LeetCode热题100 刷题笔记(第四天)二分 「 寻找两个正序数组的中位数」
笔记·算法·leetcode
会飞的大可3 小时前
Docker容器项目无法访问MySQL的解决策略
mysql·docker·容器