MySQL单机改主从——binlog同步方式

1.实施前提

主库需要开启binlog(value为on即为开启)

show variables like 'log_bin';

主库需要开启gtid模式(value为on即为开启)

show variables like 'gtid_mode';

从库需要安装好与主库版本一致

2.主从实施

2.1主库上创建复制用户

复制代码
GRANT REPLICATION SLAVE ON *.* to 'repl'@'192.168.53.%' IDENTIFIED BY 'repl';

2.2对主库进行备份

复制代码
mysqldump -uroot -p123123 --single-transaction --master-data=2 --A --triggers --routines --events | gzip > fulldb_backup.sql.gz
  • 使用 mysqldump 进行全库备份,包含触发器、存储过程、函数和事件。
  • --single-transaction 保证数据一致性。
  • --master-data=2 包含主从复制信息。

2.3恢复从库数据

gzip -d fulldb_backup.sql.gz

mysql -uroot -p < fulldb_backup.sql

2.4建立主从复制关系

通过less等工具查看备份文件头部fulldb_backup.sql

找到一行如下:

-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000021', MASTER_LOG_POS=844124729;

将在备份文件中找到的MASTER_LOG_FILE,MASTER_LOG_POS写入命令中,登录到从库执行

复制代码
CHANGE MASTER TO MASTER_HOST='192.168.53.199',MASTER_PORT=3306,MASTER_USER='repl',MASTER_PASSWORD='repl',MASTER_LOG_FILE='mysql-bin.000021',MASTER_LOG_POS=844124729;

3.启动slave进程,状态验证

登录从库

start slave;

show slave status\G;

相关推荐
m0_676544382 分钟前
JavaScript中enumerable属性对对象遍历的影响
jvm·数据库·python
Absurd5872 分钟前
SQL如何用SQL子查询实现关联报表生成_嵌套逻辑关联多表
jvm·数据库·python
m0_514520573 分钟前
CSS如何解决Less与CSS兼容性问题_通过配置文件实现平滑过渡与混合开发
jvm·数据库·python
xyghehehehe8 分钟前
【MySQL深入详解】第03篇:事务的本质——ACID与隔离级别深度解读
数据库
HHHHH1010HHHHH10 分钟前
JavaScript中利用IIFE创建私有命名空间的经典方案
jvm·数据库·python
yuezhilangniao12 分钟前
Redis 哨兵高可用集群完整文档-容器部署reids集群
数据库·redis·缓存
Irene199114 分钟前
(课堂笔记)Oracle 子查询与表操作
数据库·oracle
Tangsong40415 分钟前
以Termius的方式进行安卓设备调试?试试【easyadb】| 多功能可视化adb工具
android·adb
要做一个小太阳21 分钟前
数据库索引
运维·数据库
m0_7375393721 分钟前
Redis安装与常用命令
数据库·redis·bootstrap