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;

相关推荐
IT枫斗者枫哥4 小时前
MyBatis一对多分页:LIMIT 20,为什么凑不齐20个订单?
java·数据库
Flynt4 小时前
"MySQL搜不动就上ES"?我先在50万行数据上测了它自带的ngram全文索引
mysql·elasticsearch·搜索引擎
Y004 小时前
PostgreSQL 的锁:为什么你的 ALTER TABLE 会卡住,以及怎么查
数据库·postgresql
_祝你今天愉快4 小时前
UI核心 - UI绘制流程及原理
android
mmsx5 小时前
Android 一个设备多个 App 抢:跨进程共享服务的架构设计
android·kotlin·app
imDwAaY5 小时前
Redo Log 和 Binlog 为什么需要两阶段提交?
后端·mysql
灰原喜欢柯南5 小时前
OceanBase 运维管理知识点——OCP 监控、诊断与变更控制
数据库·oceanbase
码农-0045 小时前
Springboot 集成 Ehcache操作数据库显示SQL语句设置
数据库·spring boot·sql
仍然.5 小时前
Redis---事务
数据库·redis
oradh5 小时前
Oracle 执行计划的阅读方法(二叉树结构来理解和阅读)
数据库·oracle·执行计划的阅读方法