数据库主从同步

1、赋权操作

主库登录数据库

shell>mysql -uroot -p

查询root用户

mysql>select user,host from mysql.user where user='root';

mysql>grant all privileges on *.* to 'root'@'%';

如果host有%或者从库的ip,跳过此步骤

没有执行赋权操作

mysql>create user 'root'@'%' identified by '密码';

mysql>grant all privileges on *.* to 'root'@'%';

2、记录主库File和Position

授权复制权限

mysql>grant replication slave on *.* to 'sasmgr'@'%';

查看主库File和Position

mysql>show master status;

3、从库操作

获取主库sql备份文件

shell>mysqldump --databases 库1 库2 库3 --add-drop-table --single-transaction --master-data=2 --max_allowed_packet=512M -h主库ip -P3306 -uroot -p 密码>/data/mysqldata/20250911/databases_20250911bak.sql

登录mysql执行

shell>mysql -uroot -p

输入密码后

mysql>stop slave;

l临时关闭严格模式

mysql>show variables like 'innodb_strict_mode';

mysql>set session innodb_strict_mode=OFF;

从库同步主库数据(此命令在musql中执行不能中途退出,若退出则必须执行上一步关闭严格模式的操作)

mysql>source /data/mysqldata/20250911/databases_20250911bak.sql

根据之前记录的主库File和Position更改Master_Log_File和Matser_Log_Pos

mysql>change master to master_log_file='主库File',master_log_pos=主库Position;

mysql>start slave;

3、再次验证

再次登录主库从库查询状态

登录后主库查询

shell>mysql -uroot -p

输入密码后,查看主库File和Position

mysql>show master status;

登录从库后查询从库状态

shell>mysql -uroot -p

mysql>show salve status\G;

查看主库File和Position和从库Master_Log_File和Matser_Log_Pos是否相同且有绿色的两个yes

相同且双yes,配置完毕

相关推荐
廋到被风吹走3 小时前
【数据库】【MySQL】InnoDB外键解析:约束机制、性能影响与最佳实践
android·数据库·mysql
掘根3 小时前
【消息队列】交换机数据管理实现
网络·数据库
Logic1014 小时前
《Mysql数据库应用》 第2版 郭文明 实验6 数据库系统维护核心操作与思路解析
数据库·sql·mysql·学习笔记·计算机网络技术·形考作业·国家开放大学
AI Echoes4 小时前
构建一个LangChain RAG应用
数据库·python·langchain·prompt·agent
@nengdoudou5 小时前
KingbaseES支持 mysql 的find_in_set函数
数据库·mysql
摇滚侠5 小时前
面试实战 问题三十三 Spring 事务常用注解
数据库·spring·面试
梁萌5 小时前
保姆级的MySQL执行计划(Explain)解读
数据库·mysql·explain·执行计划
JIngJaneIL5 小时前
基于Java+ vue智慧医药系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
+VX:Fegn08955 小时前
计算机毕业设计|基于springboot + vue图书管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
cq林志炫5 小时前
MySQL 英文逗号隔开的数据如何模糊精确查询
mysql