当应用部署在弹性云主机上,且该弹性云主机与MySQL实例处于同一区域,同一VPC时,建议单独使用内网IP连接弹性云主机与MySQL实例。
使用客户端通过公网连接实例可参考绑定和解绑弹性公网IP。
本章节介绍了Linux方式下,SSL加密内网连接MySQL实例。SSL连接实现了数据加密功能,具有更高的安全性。
非SSL加密连接MySQL实例,请参见通过内网连接 MySQL实例。
操作步骤1:购买弹性云主机(ECS)
-
查看是否已有Linux弹性云主机。
如果没有Linux弹性云主机,参考创建弹性云主机进行购买。
购买弹性云主机时,要选择操作系统,例如CentOS。并绑定EIP、选择与MySQL实例相同的区域、VPC和安全组。
-
在MySQL实例基本信息页网络栏目,查看MySQL实例的区域和VPC。
-
确认ECS实例与MySQL实例是否处于同一区域、同一VPC内。
- 如果在同一VPC,可执行【操作步骤2】测试连通性并安装MySQL客户端。
- 如果不在同一区域,请重新购买实例。不同区域的云服务之间内网互不相通,无法访问实例。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。
- 如果不在同一VPC,可以修改ECS的VPC,请参见切换虚拟私有云。
操作步骤2:安装MySQL客户端
-
登录ECS实例,请参见SSH密码方式登录。
-
在MySQL的基本信息页面,获取连接地址和连接端口。
- 在天翼云官网首页的顶部菜单栏,选择产品 > 数据库 > 关系型数据库 > 关系数据库MySQL版,进入关系数据库MySQL产品页面。然后单击管理控制台,进入TeleDB数据库概览页面。
- 在左侧导航栏,选择MySQL > 实例管理,进入实例列表页面。然后在顶部菜单栏,选择区域和项目。
- 在实例列表中,单击目标实例名称,进入实例基本信息页面。
- 在实例信息区域,查看实例的连接地址和数据库端口。
-
在ECS上测试是否可以正常连接到MySQL实例内网地址的端口。
-
如果可以通信,说明网络正常。
-
如果无法通信,请检查安全组规则。
查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将MySQL实例的内网IP地址和端口添加到出方向规则。
查看RDS的安全组的入方向规则,如果源地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将ECS实例的私有IP地址和端口添加到入方向规则,具体操作请参考设置安全组规则。
-
-
在浏览器下载Linux系统的MySQL客户端安装包。
找到对应版本,以mysql-community-server-5.7.41-1.el7.x86_64.rpm为例,下载安装包。建议您下载的MySQL客户端版本高于已创建的MySQL实例中数据库版本。
-
将安装包上传到ECS。
您可以使用任何终端连接工具(如WinSCP、PuTTY等工具)将安装包上传至ECS。 -
在ECS上执行以下命令安装MySQL客户端。
rpm -ivh --nodeps mysql-community-server-5.7.41-1.el7.x86_64.rpm
操作步骤3:使用命令行连接实例(SSL加密)
-
在天翼云官网首页的顶部菜单栏,选择产品 > 数据库 > 关系型数据库 > 关系数据库MySQL版,进入关系数据库MySQL产品页面。然后单击管理控制台,进入TeleDB数据库概览页面。
-
在左侧导航栏,选择MySQL > 实例管理,进入实例列表页面。然后在顶部菜单栏,选择区域和项目。
-
在实例列表中,单击目标实例名称,进入实例基本信息页面。
-
在网络区域的SSL状态处,查看SSL开关状态。
若开关关闭,单击图标,在提示框中,单击确定,开启SSL加密。 -
单击SSL状态参数右侧的下载证书,下载ca.pem。
-
将根证书(ca.pem)上传到ECS。
云数据库RDS服务在2017年4月提供了20年有效期的新根证书,该证书在实例重启后生效。请在原有根证书到期前及时更换正规机构颁发的证书,提高系统安全性。
-
在ECS上执行以下命令连接MySQL实例。
mysql -h<hostName > -P -u<userName > -p --ssl-ca=<caName >
参数说明参数 说明 <hostName> 目标实例的弹性公网IP。 目标实例的数据库端口。 <userName> 用户名,即关系数据库MySQL版帐号(默认管理员帐号为root)。 <caName> 相应的SSL证书文件名,该文件需放在执行该命令的路径下。 使用root用户SSL连接数据库实例,示例如下:
mysql -h< hostName > -P 13049 -u root -p --ssl-ca=ca.pem
-
出现如下提示时,输入数据库帐号对应的密码:
Enter password: