使用MySQL命令行公网连接实例
当不满足通过内网IP地址访问RDS实例的条件时,可以使用公网访问,建议单独绑定弹性公网IP连接弹性云服务器(或公网主机)与RDS for MySQL实例。
本章节以应用部署在Linux弹性云服务器为例,介绍SSL加密公网连接RDS for MySQL实例。SSL连接实现了数据加密功能,具有更高的安全性。
公网连接时支持弹性公网IP或NAT访问,当同时设置NAT和弹性公网IP时,会优先使用弹性公网IP访问。
步骤1:购买ECS
步骤2:测试连通性并安装MySQL客户端
- 登录ECS实例,请参见《弹性云服务器用户指南》中“通过VNC登录Linux ECS”。
- 在RDS“实例管理”页面,单击实例名称进入“概览”页面。
- 选择“连接管理”,在“连接信息”模块获取实例的公网地址和数据库端口。
图4 连接信息
如果没有绑定公网地址,请参见绑定弹性公网IP。
- 在ECS登录后页面,测试是否可以正常连接到在3中获取的公网地址的端口。
curl -kv 公网地址:端口
- 选择方法一或方法二,将MySQL客户端安装包导入ECS,并安装客户端。
- 在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实例中数据库版本。
- 8.0版本安装包:
- 执行以下命令安装MySQL客户端。
- 8.0版本:
rpm -ivh --nodeps mysql-community-client-8.0.28-1.el6.x86_64.rpm
图6 安装客户端 - 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版本:
- 在浏览器下载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
图9 安装客户端 - 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版本:
- 在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实例中数据库版本。
- 8.0版本安装包:
- 执行以下命令安装MySQL客户端。
- 8.0版本:
rpm -ivh --nodeps mysql-community-client-8.0.28-1.el6.x86_64.rpm
图6 安装客户端 - 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版本:
- 在浏览器下载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
图9 安装客户端 - 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开启状态。
- 在RDS“实例管理”页面,单击实例名称进入“概览”页面。
- 单击“SSL”处的“下载”,下载“Certificate Download”压缩包,解压后获取根证书(ca.pem)和捆绑包(ca-bundle.pem)。
- 将根证书(ca.pem)上传到ECS。
说明:
- 推荐使用TLS v1.2及以上协议,低于该版本可能存在安全风险。您可以通过修改参数“loose_tls_version”的值设置加密协议,具体操作详见修改RDS for MySQL实例参数。
- 根证书捆绑包(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 <port> -u <userName> -p --ssl-ca=<caName>
示例:
mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=ca.pem
- 出现如下提示时,输入数据库账号对应的密码:
Enter password:
图11 连接成功
- 在RDS“实例管理”页面,单击实例名称进入“概览”页面。
- 单击“SSL”处的“下载”,下载“Certificate Download”压缩包,解压后获取根证书(ca.pem)和捆绑包(ca-bundle.pem)。
- 将根证书(ca.pem)上传到ECS。
说明:
- 推荐使用TLS v1.2及以上协议,低于该版本可能存在安全风险。您可以通过修改参数“loose_tls_version”的值设置加密协议,具体操作详见修改RDS for MySQL实例参数。
- 根证书捆绑包(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 <port> -u <userName> -p --ssl-ca=<caName>
示例:
mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=ca.pem
- 出现如下提示时,输入数据库账号对应的密码:
Enter password:
图11 连接成功