对于数据库设置主从关系,我们的目的一般有几个: 1. 做数据备份; 2. 做高可用; 3. 做读写分离;
而对于想快速上线或者一切图个方便的项目,我们往往选择各种云产品服务。而阿里云则是其中的佼佼者!
然而,想想主从同步这样的基本功能,在阿里云上竟然没有找到很简便的解决方案,在搜了N次百度之后,发现: 大家都在说,我是如何如何把 RDS 的数据同步到 ECS的? 我是如何把RDS的数据同步到线下的。
就是没有说,我是如何在多个 RDS 之间进行数据同步的,做主从的?
甚至有些看起来很正确的答案,居然说, RDS 权限做了限制,无法在多个 RDS 之间进行同步,我也是醉了!
想想这种场景,我在阿里云上买了两个 RDS 产品,怎么也算是老顾客了吧。你居然能提供 RDS 和 ECS、线下机器 的同步,却不做我买的两个 RDS 之间的同步,是不是有点过分了???
然而,事实并不是这样!!!
其实我们想要设置主从关系,一般就是想进行数据同步!我们有两个方案:
1. 使用数据库迁移服务,进行增量同步! 可以直接访问: https://dts.console.aliyun.com/
一、创建迁移任务:
二、填写数据库各种信息
选择要迁移的数据库、数据表:(勾选增量数据迁移后,就可以一直同步了,据说是要钱)
2. 使用正规的数据同步功能,不过这个功能是要花钱的,还有点小贵呢!
创建同步任务:
当然,会先让你去买产品,然后才能操作了!
从上面也可以看到,订阅 RDS 数据库消息,也是要花钱的哦!
数据同步功能已经给阿里同学做成了一个数据解决方案了!
DTS 产品是也!
最后,附一个ssh登录不上ECS的问题解决方案:
现象: 自己一直在操作ssh终端,结果偶然间就断线了,然后一直连接不上!
提示1: xshell 工具提示: Connection closed by foreign host.
提示2: 其他ssh工具可能提示: ssh_exchange_identification: read: Connection reset by peer
解决过程:
1. 怀疑ssh机器已挂掉?
从阿里云后台可以观察到服务还很正常,排除机器已挂可能。且同时可观察到服务器的内存、cpu、磁盘等正常!
2. 怀疑ssh服务已挂?
从阿里云后台登录终端,没有问题!此处可理解为登录机制不一样,无可厚非!在后台查看 ssh 服务:
$> ps -ef | grep ssh # 查看进程还存在 $> netstat -tunlp | grep ssh # 查看ssh的端口服务还存在
所以,排除ssh服务已挂的可能性!
3. 使用 telnet 连接查看情况?
telnet root@192.168.1.2 telnet -v -p 22 root@192.168.1.2 # 带调试参数查看
可以连接上(注意一定要使用多个ssh工具操作,防止某个ssh工具提示信息不全的问题!),所以,不是ssh不存在,可能是被什么拦截了!
4. 怀疑ip可能被拦截了(加入黑名单了)?
因阿里云后台有设置黑名单的地方,所以直接查看,结果发现并没有黑名单。再次将白名单加上后,重试!依然无法登录 !
5. https://help.aliyun.com/knowledge_detail/41470.html#PAM安全框架相关问题 看到官网有帮助文档,直接查看!
6. 怀疑防火墙问题?
iptables 配置异常(Centos 6)[出现概率:10%],修改掉!
iptables -nvL –line-number # 设置 iptables 防火墙后需放行 22 号端口,否则会导致无法远程。 iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
7. cpu 负载过高导致ssh无法连接?
vmstat -n 1 top
确认负载没问题!
8. 最终,使用阿里云的云盾拦截加白名单功能搞定, 云盾安全 -> 安全设置 -> 添加
找到添加操作!
添加好后,10钟后,就可以登录 了!
所以,ssh 登录不上的原因为: 为 云盾封杀了!
那么问题来了,为什么IP会被封杀呢? 可能是你做了什么危害服务器的操作吧!