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;

相关推荐
召田最帅boy15 小时前
使用自定义图片作为Emoji表情的技术实现
数据库·html
黄昏晓x15 小时前
C++11
android·java·c++
2401_8535765015 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
Nandeska15 小时前
6、认识和使用Redis Stack
java·数据库·redis
V1ncent Chen15 小时前
SQL大师之路 09 模式匹配(正则表达式)
数据库·sql·mysql·正则表达式·数据分析
simplepeng15 小时前
TikTok 通过 Jetpack Compose 将代码大小减少 58%,并提升了新功能的 app 性能
android·android jetpack
SelectDB技术团队16 小时前
Apache Doris + SelectDB:定义 AI 时代,实时分析的三大范式
数据库·数据仓库·人工智能·云原生·实时分析
weixin_7042660516 小时前
事务管理全解析:从ACID到Spring实现
java·数据库·spring
m0_7381207216 小时前
应急响应——知攻善防挖矿事件应急溯源详细过程
网络·数据库·安全·web安全
青柠代码录16 小时前
【MySQL】常用命令手册
数据库·mysql