mysql主从复制

主库配置开启binglog

cnf 复制代码
log-bin=/mysql/mysql-bin/mysql-bin
binlog-format=ROW
server_id=1

从库配置

查询主库的server_id,从库配置不要重复就行

sql 复制代码
show variables like '%server_id%';


编辑从库的my.cnf文件

在文件中增加如下配置

cnf 复制代码
server-id               =  123456789              //服务 ID,主从实例 server-id 需不同。
log_bin                 =  /var/log/mysql/mysql-bin.log
expire_logs_days        =  10;
max_binlog_size         =  100M
replicate-do-db         =  exampledb                //需要同步的数据库
replicate-ignore-db     =  mysql                  //不需要同步的数据库
replicate-ignore-db     =  information_schema     //不需要同步的数据库
replicate-ignore-db     =  performance_schema     //不需要同步的数据库
# GTID
gtid_mode=on
enforce_gtid_consistency=on
binlog_format=row                             //设置 binlog 为 row
log-slave-updates=1

设置同步选项

sh 复制代码
change master to master_host='rm-xxx.mysql.rds.aliyuncs.com', master_user='xxx', master_password='xxxx', master_port=3306, master_log_file='mysql-bin.000637', master_log_pos= 6433378, master_connect_retry=30;

其中的master_log_filemaster_log_file通过在master上执行show master status;获得

但是需要注意如果主库数据有变更,这两个值可能会一直有变动,可以先执行如下命令锁表

sql 复制代码
# 锁表
flush tables with read lock;
# 解锁
unlock tables

启动从实例

sh 复制代码
start slave;

检查同步结果

sh 复制代码
show slave status\G

查看系统返回信息中 Slave_IO_Running 和 Slave_SQL_Running 的状态是否为 Yes,如下所示。

其他

同步阿里云的RDS至自建数据库也是可以的,阿里云rds默认开启了binglog,所以我们无需对主库进行配置,直接配置从库即可

参考

https://developer.aliyun.com/article/66087

相关推荐
嘘神秘用19 分钟前
布:AI 驱动的 Redis 客户端,更快、更直观
数据库·人工智能·redis
东北小狐狸-Hellxz2 小时前
Redis 哨兵搭建+ACL权限控制
数据库·redis
研究员子楚3 小时前
GEO行业发展标准体系白皮书V2.0-第09卷 · 适配篇:硅基主权伦理宪章与行业适配宣言
数据库·人工智能·geo
CoderMeijun4 小时前
一条SQL查询语句在MySQL中是如何执行的
mysql·sql执行流程·连接器·mysql架构·索引下推·执行器
l134062082355 小时前
鸿蒙实战:RDB 数据库设计与 DatabaseService
数据库·华为·harmonyos·鸿蒙系统
山峰哥5 小时前
数据库工程与索引策略实战指南‌
服务器·数据库·sql·oracle·深度优先
谙忆5 小时前
图片版权保护工程实战:明水印、盲水印(DCT隐写)、Referer防盗链与签名URL怎么落地
数据库
KaMeidebaby5 小时前
卡梅德生物技术快报|抗体合成:多肽抗体合成工程化方案:Nsp2 保守肽多抗制备与多维度验证
前端·网络·数据库·人工智能·算法
xfhuangfu6 小时前
19c CDB架构下的数据库启动和停止
数据库·架构
神道君天下6 小时前
填充与积累:积分与面积的可视化
数据库·oracle