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

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

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

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

2.登录需要复制的数据库,执行 show master status 查看file和postion的值
RDS数据库和ECS自建数据库主从复制,数据同步

3.配置你要复制到的从库数据访问权限(数据安全性-添加白名单,就是把你从库的服务器ip添加到白名单)
RDS数据库和ECS自建数据库主从复制,数据同步
导出一份数据主库数据 导入到从库上,保持主从库的数据库名称和表及数据一致。
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
        表示设置成功
        
上一篇:Illustrator 绘制矢量的卡通绿叶(不透明调板)


下一篇:Javascript传递中文参数到Java后端