mysql 配置主从复制 及 Slave_SQL_Running = no问题排查

一、配置主数据库

1、在mysql 配置文件my.cnf中设置主数据库配置

sql 复制代码
server-id=1 //唯一的标示符
log-bin=mysql-bin //开启二进制日志

2、重启数据库

3、安全规范的写法是新建一个用户给这个用户复制的权限(直接用root也可以不建议)

sql 复制代码
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; //repl用户名 //%代表可以链接的地址%表示任何IP都可以访问 可以把%替换为具体的ip password表示用户名
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';  # 授权复制权限

二、在从库中设置(my.cnf)

1、

sql 复制代码
server-id=2 //唯一的标示符
replicate-do-db = sys //需要同步的库

2、重启数据库

3、设置主库的连接信息

sql 复制代码
CHANGE MASTER TO
  MASTER_HOST='', //主库ip
  MASTER_USER='', //账号  
  MASTER_PASSWORD='', //密码
  MASTER_PORT=3306; //端口

4、重启数据库

三、检查主从状态

在从库上执行SHOW SLAVE STATUS 命令,查看复制状态。

Slave_IO_Running和Slave_SQL_Running都为Yes,表示复制进程正常运行。

==============================>问题排查

重新连接主从后

stop slave 关闭主从

START SLAVE; 开启主从

SHOW SLAVE STATUS; 显示状态

如果Slave_SQL_Running为no

一、去主库执行

sql 复制代码
show master status ; //记住Position
FLUSH PRIVILEGES; //刷新权限
再次执行记住Position
show master status ; //记住Position

二、去从库执行

sql 复制代码
stop slave;  //关闭主从
CHANGE MASTER to  
MASTER_HOST = '',
MASTER_USER = '',
MASTER_PASSWORD = '',
MASTER_PORT = 3306,
MASTER_LOG_POS = 3095; //上面主库的Position
START SLAVE;  //开启主从
相关推荐
爬山算法几秒前
MongoDB(32)如何查看集合中的索引?
数据库·mongodb
艾莉丝努力练剑4 分钟前
【MYSQL】MYSQL学习的一大重点:MYSQL库的操作
android·linux·运维·数据库·人工智能·学习·mysql
JuneXcy4 分钟前
第5讲 MySql数据操纵语句--复杂查询
数据库·sql·mysql
小鸡吃米…5 分钟前
Python 中的并发 —— 简介
服务器·数据库·python
听雪楼主.5 分钟前
某客户系统Oracle数据运行慢分析
数据库·oracle
顶点多余16 分钟前
Mysql-库操作详解
数据库·mysql
fengxin_rou20 分钟前
redis主从和集群一致性、哨兵机制详解
java·开发语言·数据库·redis·缓存
ljh57464911923 分钟前
chown 命令的解释和常用用法和高级用法
linux·服务器·数据库
DolphinDB智臾科技26 分钟前
实操教程:使用 GitHub Copilot 配置 DolphinDB Skill 以提升开发效率
数据库·github·copilot·时序数据库·dolphindb
yeshihouhou27 分钟前
redisson实现延迟队列
java·前端·数据库