数据库主从同步

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,配置完毕

相关推荐
betazhou14 小时前
MySQL相关性能查询语句
android·数据库·mysql
jiunian_cn14 小时前
【Redis】set数据类型相关指令
数据库·redis·缓存
松涛和鸣14 小时前
DAY69 Practical Guide to Linux Character Device Drivers
linux·服务器·arm开发·数据库·单片机·嵌入式硬件
咩咩不吃草14 小时前
Linux环境下MySQL的安装与使用与Navicat
linux·运维·数据库·mysql·navicat
Aloudata14 小时前
NoETL 指标平台如何保障亿级明细查询的秒级响应?——Aloudata CAN 性能压测深度解析
数据库·数据分析·自动化·指标平台
maoku6615 小时前
从关键词到语义:向量数据库如何让AI真正理解你的需求
数据库·人工智能
寻道码路15 小时前
【MCP探索实践】Google GenAI Toolbox:Google开源的企业级AI数据库中间件、5分钟搞定LLM-SQL安全互联
数据库·人工智能·sql·开源·aigc
数据知道15 小时前
PostgreSQL 核心原理:一文掌握 WAL 缓冲区与刷盘策略(性能与数据安全的权衡)
数据库·postgresql
三个人工作室15 小时前
mysql允许所有ip地址访问,mysql允许该用户访问自己的数据库【伸手党福利】
数据库·tcp/ip·mysql
小小逐月者15 小时前
SQLModel 开发笔记:Python SQL 数据库操作的「简化神器」
数据库·笔记·python