数据库主从同步

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

相关推荐
小陈工9 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
0xDevNull14 小时前
MySQL数据冷热分离详解
后端·mysql
科技小花14 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸14 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain14 小时前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希14 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神15 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员15 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java15 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿15 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb