您现在的位置是:首页 > 文章详情

RDS数据库和ECS自建数据库主从复制,数据同步

日期:2018-09-12点击:383

原理和需求就不多说了 直接说实现步骤。

1.登录RDS,增加账号并于账号赋予数据库相应权限,

  1. image

2.登录需要复制的数据库,执行 show master status 查看file和postion的值
image

3.配置你要复制到的从库数据访问权限(数据安全性-添加白名单,就是把你从库的服务器ip添加到白名单)
image
导出一份数据主库数据 导入到从库上,保持主从库的数据库名称和表及数据一致。
4.登录从库服务器,以centos 7为例,设置 vim /etc/my.cnf 文件

log-error=/var/log/mysqld.log
pid-file=/var/lib/mysql/mysqld.pid
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
group_concat_max_len=2000000

server_id=211 #服务器id,不要和主库重复
read_only = 1
replicate-do-db = yiside_bi #需要同步的数据库

replicate-ignore-db = mysql #不需要同步的数据库

replicate-ignore-db = information_schema #不需要同步的数据库

replicate-ignore-db = performance_schema #不需要同步的数据库

binlog_format = ROW
log-bin = mysql-bin #开启二进制日志功能,binlog数据位置
log-bin-index = mysql-bin.index
relay-log = relay-log #relay-log日志记录的是从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件#然后SQL线程会读取relay-log日志的内容并应用到从服务器
relay_log_index = relay-log.index
gtid_mode=on

enforce_gtid_consistency=on #只记录对基于GTID的复制安全
log-slave-updates = 1 #允许下端接入slave
max_allowed_packet=16M
5.重新启动mysql , service mysqld start (启动方法有很多,只要能重新启动就行)

  1. 登录从库 创建用户
    change master to MASTER_HOST='rm-2ze1lm67a...', #主库地址

master_user='yiside_bi', #设置的授权的主库账户
master_password='Yiside_bi', #设置的授权的主库密码
MASTER_LOG_FILE='mysql-bin.000783', #主库的file
MASTER_LOG_POS=636125; #主库的postion
7.命令行登录mysql,mysqld -uroot -p 数据密码

  1. 执行start slave;启动
    9.在执行show slave statusG; 查看状态
  2. Slave_IO_Running: Yes

     Slave_SQL_Running: Yes 表示设置成功 
原文链接:https://yq.aliyun.com/articles/639038
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章