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;  //开启主从
相关推荐
jiayou649 小时前
KingbaseES 表级与列级加密完全指南
数据库·后端
GBASE1 天前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr2 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
唐青枫3 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
吃糖的小孩3 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
小满8783 天前
5.Mysql事务隔离级别与锁机制
mysql
笃行3503 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3503 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3503 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
元Y亨H3 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql