阿里云RDS与本地ECS自己建库主从同步

1.首先拿到RDS实例的用户名,密码 ,已经内网的IP地址 

 

地址:可以在其他机器 ping 这个内网地址就拿到 IP地址了

阿里云RDS与本地ECS自己建库主从同步_第1张图片

阿里云RDS与本地ECS自己建库主从同步_第2张图片

 

密码:

阿里云RDS与本地ECS自己建库主从同步_第3张图片

 

 

这样就拿到了 RDS实例的IP地址,用户名,跟密码了

 

 

 

 

2. 将你要同步的数据库导出

 mysqldump -hrm-wz90r4h72ir7630bm.mysql.rds.aliyuncs.com -uxxxxxx  -pxxxx--routines --single_transaction --master-data=2 --databases db_name  >db_name.sql  数据库备份

 

3.通过scp的方式copy到从库机器上

 

 

 

4.编辑从库/etc/my.cnf文件

[mysqld]

basedir = /usr/local/mysql

datadir = /data

server_id= 211

 

#GTID:         #由于RDS开启了GTID模式,所以我们从库也要开启该模式

gtid_mode = on

enforce_gtid_consistency = 1

log-slave-updates = 1

binlog_format = row

explicit_defaults_for_timestamp=true

log-bin=mysql-bin

 

#relay log

skip_slave_start=1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

expire_logs_days = 10

max_binlog_size = 100M

replicate-do-db = sanqin_article

replicate-do-db = sanqin_payment

replicate-do-db = sanqin_user

replicate-ignore-db = mysql

replicate-ignore-db = information_schema

replicate-ignore-db = performance_schema

 

[inonodb]

innodb_buffer_pool_size=64MB

:wq!               #报错             

 

5.启动服务 

service mysqld start

 

 

6.登陆从库的MYSQL

create database db_name  #库的名字要跟主的一样

 

7.然后导入到数据库

mysql> source /root/db_name.sql

 

 

 

8. 查看db_name.sql 的pos值

阿里云RDS与本地ECS自己建库主从同步_第4张图片

 

 

记录这个值

 

 

9 .添加 host 记录

 

[[email protected] /root]

#cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 

10.1.0.126  rm-wz90r4h72ir7630bm.mysql.rds.aliyuncs.com         

   

#IP地址是RDS实例的IP地址 。这个请去阿里云平台查询,
#DMS内网的链接地址:rm-wz90r4h72ir7630bm.mysql.rds.aliyuncs.com                   

 

 

 

 

 

10.登陆数据库,执行主从同步

change master to master_host='x.x.x.x ',master_user='xxxx',master_password='xxxxxxx ',master_port=3306,master_log_file='mysql-bin.000277 ',master_log_pos=309622;

 

注:如果执行这边命令的时候报错,报 is Active 之类的,需要执行 

mysql>stop slave 

mysql>change master to master_auto_position=0;

mysql>start slave ;

mysql>show slave status;

 

注: 

master_host : RDS实例的IP地址

master_user: RDS上DMS的账号

master_password: RDS上DMS的密码

master_port :RDS实例的端口

master_log_file:mysql-bin.000xxx   这个要登陆RDS主实例上去执行   show master status 得到的

master_log_pos: 这个 在导出db_name.sql 中得到,表示从库从这个地方去同步RDS

 

在RDS上操作:

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MySQL connection id is 654718428

Server version: 5.6.34 Source distribution

 

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

MySQL [(none)]> show master status;

+------------------+----------+--------------+------------------+--------------------------------------------------------------------------------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set                                                                          |

+------------------+----------+--------------+------------------+--------------------------------------------------------------------------------------------+

| mysql-bin.000277 |   611357 |              |                  | 18365a21-081e-11e8-9275-7cd30ac334da:1-558646,

fa4292ef-081d-11e8-9274-7cd30ab49d30:1-6884 |

+------------------+----------+--------------+------------------+--------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)

 

MySQL [(none)]> 

 

11.启动slave 

start slave;

 

12.查看slave状态

阿里云RDS与本地ECS自己建库主从同步_第5张图片

 

 

 

至此,完成

你可能感兴趣的:(数据库)