使用mysql命令行内网连接实例-九游平台
当应用部署在弹性云服务器上,且该弹性云服务器与rds for mysql实例处于同一区域,同一vpc时,建议单独使用内网ip连接rds for mysql实例。
本章节以应用部署在linux弹性云服务器为例,介绍ssl加密内网连接rds for mysql实例。ssl连接实现了数据加密功能,具有更高的安全性。
非ssl加密连接rds for mysql实例,请参见购买并通过mysql客户端连接rds for mysql实例。
步骤1:购买ecs
- ,查看是否有弹性云服务器。
- 有linux弹性云服务器,执行3。
ecs镜像是centos时,版本号选centos 7.4 64bit。
- 有windows弹性云服务器,参考购买并通过mysql-front连接rds for mysql实例。
- 无弹性云服务器,执行2。
图1 ecs实例 - 有linux弹性云服务器,执行3。
- 购买弹性云服务器时,选择linux操作系统,例如centos 7.4 64bit。
由于需要在ecs下载mysql客户端,因此需要为ecs绑定弹性公网ip(eip),并且选择与rds for mysql实例相同的区域、vpc和安全组,便于rds for mysql和ecs网络互通。
购买linux弹性云服务器请参考《弹性云服务器用户指南》中“购买弹性云服务器”章节。
- 在ecs实例基本信息页,查看ecs实例的区域和vpc。
图2 ecs基本信息
- 在rds for mysql实例概览页,查看rds实例的区域和vpc。
图3 mysql概览
- 确认ecs实例与rds for mysql实例是否处于同一区域、同一vpc内。
- 是,执行步骤2:测试连通性并安装mysql客户端。
- 如果不在同一区域,请重新购买实例。不同区域的云服务之间内网互不相通,无法访问实例。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。
- 如果不在同一vpc,可以修改ecs的vpc,请参见切换虚拟私有云。
步骤2:测试连通性并安装mysql客户端
- 登录ecs实例,请参见《弹性云服务器用户指南》中“通过vnc登录linux ecs”。
- 在rds“实例管理”页面,单击实例名称进入“概览”页面。
- 选择“连接管理”,在“连接信息”模块获取实例的内网地址(或者内网域名)和数据库端口。
图4 连接信息
- 在ecs登录后页面,测试是否可以正常连接到在3中获取的内网地址的端口。
curl -kv 内网地址:端口
示例:
curl -kv 192.168.0.4:3306
- 选择方法一或方法二,将mysql客户端安装包导入ecs。然后执行6安装客户端。
方法一:
在ecs上,执行以下命令下载linux系统的mysql客户端安装包,该方式需要为ecs绑定eip。- 8.0版本:
wget https://dev.mysql.com/get/mysql-community-client-8.0.28-1.el6.x86_64.rpm
- 5.7版本:
wget https://dev.mysql.com/get/mysql-community-client-5.7.38-1.el6.x86_64.rpm
建议您下载的mysql客户端版本高于已创建的rds实例中数据库版本。
方法二:
在浏览器下载linux系统的mysql客户端安装包,然后将安装包上传到ecs。
您可以使用任何终端连接工具(如winscp、putty等工具)将安装包上传至ecs。
- 8.0版本:
打开,以mysql-community-client-8.0.28-1.el6.x86_64.rpm为例,下载安装包。
图7 下载mysql 8.0安装包 - 5.7版本:
打开,以mysql-community-client-5.7.38-1.el6.x86_64.rpm为例,下载安装包。
图8 下载mysql 5.7安装包
建议您下载的mysql客户端版本高于已创建的rds实例中数据库版本。
- 8.0版本:
- 执行以下命令安装mysql客户端。
- 8.0版本:
rpm -ivh --nodeps mysql-community-client-8.0.28-1.el6.x86_64.rpm
- 5.7版本:
rpm -ivh --nodeps mysql-community-client-5.7.38-1.el6.x86_64.rpm
- 如果安装过程中报conflicts,可增加replacefiles参数重新安装,如下:
rpm -ivh --replacefiles mysql-community-client-安装包版本号-1.el6.x86_64.rpm
- 如果安装过程中提示需要安装依赖包,可增加nodeps参数重新安装,如下:
rpm -ivh --nodeps mysql-community-client-安装包版本号-1.el6.x86_64.rpm
- 8.0版本:
步骤3:使用命令行连接实例
在rds“实例管理”页面,单击实例名称进入“概览”页,在“ssl”处,查看ssl开启状态。
- 在ecs上,执行以下命令连接rds for mysql实例。
mysql -h <host> -p
-u <username> -p 示例:
mysql -h 172.16.0.31 -p 3306 -u root -p
- 出现如下提示时,输入数据库账号对应的密码:
enter password:
图9 连接成功
- 在rds“实例管理”页面,单击实例名称进入“概览”页。
- 单击“ssl”处的“下载”,下载“certificate download”压缩包,解压后获取根证书(ca.pem)和捆绑包(ca-bundle.pem)。
- 将根证书(ca.pem)上传到ecs,建议和mysql客户端安装包放在同一个目录。
- 您可以使用任何终端连接工具(如winscp、putty等工具)上传根证书。
- 云数据库rds服务在2017年4月提供了20年有效期的新根证书,该证书在实例重启后生效。请在原有根证书到期前及时更换正规机构颁发的证书,提高系统安全性。
请参见如何确认ssl根证书的有效期。
- 推荐使用tls v1.2及以上协议,低于该版本可能存在安全风险。
- 根证书捆绑包(ca-bundle.pem)包含2017年4月之后的新根证书和原有根证书。
- ca.pem和ca-bundle.pem都可以实现ssl连接,ca-bundle.pem文件包含ca.pem,使用ca.pem即可。
- rds for mysql实例不支持x509认证方式。
- 在ecs上,执行以下命令连接rds for mysql实例。
mysql -h <host> -p
-u <username> -p --ssl-ca=<caname> 示例:
mysql -h 172.16.0.31 -p 3306 -u root -p --ssl-ca=ca.pem
- 出现如下提示时,输入数据库账号对应的密码:
enter password:
图10 连接成功
常见问题
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨