阿里云RDS MySQL与自建MySQL数据库进行主从同步(GTID方式)

1、创建数据库,dump阿里云RDS数据,导入到自建MySQL

阿里云RDS的配置几乎不用动,只需从RDS开一个只读的账号出来。

在ECS服务器上远程导出RDS的数据库,执行下面命令,记得将[]内容替换掉

mysqldump -h http://***.mysql.rds.aliyuncs.com -u [USER] -P 3306 -p[PASSWORD] --opt --default-character-set=utf8 --triggers --hex-blob [库名] > 1010.sql

dump下来之后,再去ECS中的 mysql> 中导入dump文件:

create schema 库名 collate utf8mb4_general_ci; -- 注意和RDS库名保存一致,字符集也是一样
use [库名];
source 1010.sql; 

2、停止从库自建MySQL,修改从库my.cnf 配置

service mysqld stop

修改ECS中自建的从库 MySQL 配置文件,在[mysqld]最后添加如下

vi /etc/my.cnf 

server-id =1234567890 #不可与RDS主库id相同
port = 3306  #端口!!!需要更改
replicate-do-db =test #需要同步的数据库!!!需要更改

binlog_format = row #日志文件格式
#log-bin = mysql-bin
#log-bin-index = mysql-bin.index
#relay-log = relay-log
#relay_log_index = relay-log.index
#slave-skip-errors = all

gtid_mode = on #开启gtid模式
enforce_gtid_consistency = on
log-slave-updates = 1
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

保存后重启mysql服务

#service mysqld restart

stop slave; 

3、查询GTID,配置主从同步

主库执行,连接RDS主库,查询GTID,阿里云主库执行,复制出GTID

show global variables like 'gtid_purged';

从库执行,注意修改GTID

# 注意替换gtid
set global gtid_purged = 'f357055d-31ab-****-a651-00163e00f***:1-45184469';

reset master;



CHANGE MASTER TO
MASTER_HOST='***.mysql.rds.aliyuncs.com',
MASTER_PORT=3306,
MASTER_USER='user',
MASTER_PASSWORD='pwd',
master_auto_position=1;

reset slave;

start slave;

show slave status\G;

大功告成,阿里云RDS MySQL与自建MySQL数据库进行主从同步。


可能遇到的问题:

问题:mysqldump: Got errno 11 on write

可能的问题:例如磁盘空间不足、文件权限问题等。

我出现这个问题就是/tmp 磁盘空间不足导致的 ,我将dump的文件放到tmp下

其他:

-- 查询当前已经执行过的gtid

use mysql;
SELECT * FROM gtid_executed;

gtid_purged:需要跳过的gtid

set @@global.gtid_purged='';


 

相关推荐

  1. MySQL8.0+数据库GTID主从模式搭

    2024-03-20 10:10:01       36 阅读
  2. 实现阿里MySQL数据库实时同步到AWS的MySQL数据库

    2024-03-20 10:10:01       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-20 10:10:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-20 10:10:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-20 10:10:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-20 10:10:01       18 阅读

热门阅读

  1. Oracle中使用coe_load_sql_profile脚本固定执行计划

    2024-03-20 10:10:01       22 阅读
  2. Android Studio中快速修改包名

    2024-03-20 10:10:01       22 阅读
  3. 【Golang入门教程】Go语言变量的声明

    2024-03-20 10:10:01       22 阅读
  4. 1059:求平均年龄

    2024-03-20 10:10:01       26 阅读
  5. consul

    2024-03-20 10:10:01       21 阅读