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

  1. 云栖社区>
  2. 博客列表>
  3. 正文

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

繁花似璟 2018-09-13 14:51:27 浏览12167 评论0

摘要: 设置阿里云RDS和ECS上自建的数据库达成主从分离。

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

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
        表示设置成功
        
【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击

网友评论

繁花似璟
文章1篇 | 关注0
关注
RDS是一种稳定可靠、可弹性伸缩的在线数据库服务。支持MySQL、SQL Server、Po... 查看详情
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效... 查看详情
MySQL 是全球最受欢迎的开源数据库,阿里云MySQL版 通过深度的内核优化和独享实例提供... 查看详情
双12

双12