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

相关推荐
P.H. Infinity2 分钟前
【RabbitMQ】10-抽取MQ工具
数据库·分布式·rabbitmq
zgscwxd6 分钟前
thinkphp6 --数据库操作 增删改查
数据库·thinkphp6
代码小鑫13 分钟前
A031-基于SpringBoot的健身房管理系统设计与实现
java·开发语言·数据库·spring boot·后端
天天要nx31 分钟前
D64【python 接口自动化学习】- python基础之数据库
数据库·python
精进攻城狮@1 小时前
Redis(value的数据类型)
数据库·redis
爪哇学长1 小时前
SQL 注入详解:原理、危害与防范措施
xml·java·数据库·sql·oracle
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ2 小时前
mybatisPlus打印sql配置
数据库·sql
弗拉唐2 小时前
将Excel文件的两个表格经过验证后分别读取到Excel表和数据库
数据库·excel
刘艳兵的学习博客2 小时前
刘艳兵-DBA033-如下那种应用场景符合Oracle ROWID存储规则?
服务器·数据库·oracle·面试·刘艳兵
simpleGq2 小时前
Redis知识点整理 - 脑图
数据库·redis·缓存