SQL上线提示库名过长,建议使用别名解析

# SQL上线提示库名过长,建议使用别名解析

SQL上线,报错阿里云RDS,备份库名 'rm-wz99XXXXXXXXX.mysql.rds.aliyuncs.com-3306-XXXXXX' 过长,建议使用别名解析。

报错如图

image-20201110151221843

https://github.com/hhyo/Archery/issues/309

改变思路将RDS的域名连接改为IP连接。ping域名得到地址。

image-20201110151508499

提交工单询问阿里云客服

问题描述 : RDS如何使用IP地址连接?
获取IP地址,由于业务的需要不能使用域名连接rds,需要使用ip地址。
ping RDS的外网地址

# ping rm-aaaaaaa.mysql.rds.aliyuncs.com

64 bytes from 47.112.69.163 (1.2.3.4): icmp_seq=1 ttl=92 time=7.86 ms
实际操作: mysql -uuser -h 1.2.3.4 -P3306 -p"密码" 可以连接。

问题
1.RDS如何使用IP地址连接?
2.使用RDS的外网地址ping获取IP地址:1.2.3.4, 这个地址是固定的还是会变动?如果变化的规则是如何的?
3.如果有只读实例如何使用IP连接?
1
2
3
4
5
6
7
8
9
10
11
12
13

阿里云客服回答

您好,您这边如果使用地址连接的话,就是您反馈的1.2.3.4
不过这个IP是不固定的,具体变化是根据您实例状态,如果实例有变配升级或者迁移可用区,包括ha切换这个ip都会变动。
只读实例也有连接地址,您同样的方法ping一下就可以看到ip
如果您实例不变配或者升级之类的操作,包括不出现故障切换备节点的情况目前不会变化
1
2
3
4

考虑如果阿里云rds域名数据库改为IP连接,要考虑如果发生变化后台则要修改相关的配置。

# 解决办法

通过域名的cname来将阿里云的域名改短

比如

自有域名
rds1.xgss.net CNAME解析到 rm-aaaaaaa.mysql.rds.aliyuncs.com
在
1
2
3