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;  //开启主从
相关推荐
.Shu.1 小时前
Mysql InnoDB 底层架构设计、功能、原理、源码系列合集【五、InnoDB 高阶机制与实战调优】
数据库·mysql
新法国菜2 小时前
MySql知识梳理之DDL语句
数据库·mysql
DarkAthena3 小时前
【GaussDB】全密态等值查询功能测试及全密态技术介绍
数据库·gaussdb
ShawnLeiLei4 小时前
2.3 Flink的核心概念解析
数据库·python·flink
石皮幼鸟4 小时前
数据完整性在所有场景下都很重要吗?
数据库·后端
大只鹅5 小时前
Centos7.9 Docker26容器化部署 MySql9.4 一主一从的同步复制部署
mysql·centos
叁沐6 小时前
MySQL 28 读写分离有哪些坑?
mysql
nightunderblackcat6 小时前
新手向:异步编程入门asyncio最佳实践
前端·数据库·python
DarkAthena6 小时前
【GaussDB】使用MySQL客户端连接到GaussDB的M-Compatibility数据库
数据库·mysql·gaussdb
livemetee7 小时前
Flink2.0学习笔记:使用HikariCP 自定义sink实现数据库连接池化
大数据·数据库·笔记·学习·flink