数据库主从同步

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

相关推荐
陌上丨11 小时前
Redis的Key和Value的设计原则有哪些?
数据库·redis·缓存
AI_567812 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
ccecw12 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
JH307312 小时前
达梦数据库与MySQL的核心差异解析:从特性到实践
数据库·mysql
数据知道12 小时前
PostgreSQL 核心原理:如何利用多核 CPU 加速大数据量扫描(并行查询)
数据库·postgresql
麦聪聊数据13 小时前
Web 原生架构如何重塑企业级数据库协作流?
数据库·sql·低代码·架构
未来之窗软件服务13 小时前
数据库优化提速(四)新加坡房产系统开发数据库表结构—仙盟创梦IDE
数据库·数据库优化·计算机软考
Goat恶霸詹姆斯15 小时前
mysql常用语句
数据库·mysql·oracle
大模型玩家七七15 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
曾经的三心草15 小时前
redis-9-哨兵
数据库·redis·bootstrap