数据库主从同步

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

相关推荐
sjsjsbbsbsn12 小时前
向量数据库
数据库
逸Y 仙X12 小时前
文章十六:ElasticSearch 使用enrich策略实现大宽表
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
Sherry Wangs12 小时前
MySQL 与向量数据库的核心区别:从结构化数据到语义搜索
数据库·mysql
@小柯555m12 小时前
MySql(高级操作符--高级操作符练习(2))
数据库·sql·mysql
凯尔萨厮12 小时前
Springboot2.x+JSP项目创建
java·数据库
zxrhhm12 小时前
MySQL Server层与InnoDB存储引擎的关系+两阶段提交详解
mysql
Mr_linjw12 小时前
MySQL 中监控和优化慢 SQL & 索引小知识
数据库·sql·mysql
mftang12 小时前
BSS段、Data段、Text段的具体含义和数据特性
数据库·算法
码农阿豪12 小时前
Python 操作金仓数据库的完全指南(上篇):连接管理与高可用
开发语言·数据库·python
计算机学姐12 小时前
基于微信小程序的校园失物招领管理系统【uniapp+springboot+vue】
java·vue.js·spring boot·mysql·信息可视化·微信小程序·uni-app