rds做别的mysql的主_阿里云RDS(Mysql)与ECS自己搭建的数据库做主从

本文介绍了如何将阿里云RDS(Mysql)设置为主库,ECS自建数据库作为从库,详细阐述了配置过程,包括ECS上MySQL的配置、数据迁移及可能遇到的问题和解决方案,强调了`slave-skip-errors = all`参数的重要性。
摘要由CSDN通过智能技术生成

阿里云RDS(Mysql)与ECS自己搭建的数据库做主从

背景介绍:

名词:

步骤:

在一台ECS上搭建mysql数据库(作从库使用):这个比较容易,自己在百度搜索就能找到

安装完成后配置my.cnf文件(该文件位于/etc/my.cnf)

#服务的id server_id=211 #只读 read_only = 1 #端口号 port = 3306 #复制要同步的数据库,可以并列写多个 replicate-do-db=db1 replicate-do-db=db2 … #不进行同步的表,可以并列写多个 replicate-wild-ignore-table=db1.table1 replicate-wild-ignore-table=db2.table2 … #忽略复制的数据库,可以并列写多个 replicate-ignore-db = mysql replicate-ignore-db = information_schema replicate-ignore-db = performance_schema … #日志格式(Statement,Row,Mixedlevel) binlog_format = ROW #开启日志 log-bin = mysql-bin #操作日志 log-bin-index = mysql-bin.index relay-log = relay-log relay_log_index = relay-log.index #GTID配置 #是否开启GTID功能 gtid_mode=on enforce_gtid_consistency=on #同步主库操作日志 log-slave-updates = 1 #跳过所有错误,这个参数至关重要,想要研究这个参数的作用,可以先不写,看看发生什么 slave-skip-errors = all

service mysqld restart

RDS的的数据迁移过来,只迁移自己需要的表就行了

mysqldump(具体怎么用自己查文档,自己查看每个参数的作用)下面是我的写法(--single-transaction 参数是防止锁表的):mysqldump -u userName -p password -h url --single-transaction --master-data=2 -R --databases dbName>ksxing_datas.sql

296f3d3c800239464e1c68b0f4f90cdd.png

CHANGE MASTER TO MASTER_HOST='Master地址', MASTER_PORT=端口号, MASTER_USER='userName', MASTER_PASSWORD='password', MASTER_LOG_FILE='上面查到的file', MASTER_LOG_POS=0;//第一次同步时从MASTER_LOG_FILE文件中的什么位置开始,一般设为0就可以,

start slave;

show salve status |G;

e43cbb05e2c1cf6978178fa925184b7b.png

-----------------------------------------------------------------------------------------------

注意:如果上面这些操作顺利完成,并且同步成功,那么恭喜你,但是呢,结果往往不会那么顺利,可能会遇到各种各种的问题,下面我就说一下我遇到的几个问题吧,可以做一下参考:

slave-skip-errors = all,跳过所有错误!这时,你肯定会有一个疑问,为什么不去解决错误而去跳过错误呢;其实正常情况下,可能发生错误的原因:要么表结构不一致,要么没有权限(通常不会控制单表的权限的),要么表的主键冲突;

问题2:数据量不一致,slave的数据量小于master;造成这个的原因是可能是:

MASTER_LOG_FILE时为:mysql-bin.0001527(或者可以更小),只要不发生文件找不到的异常就可以。这个时候可能发生问题1,所以体现了slave-skip-errors = all的重要性。

谢谢:码字不易,请尊重原创,转载请说明出处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值