使用MySQL客户端通过公网连接实例
当不满足通过内网地址访问GaussDB(for MySQL)实例的条件时,可以使用公网访问,建议单独绑定弹性公网IP连接弹性云服务器(或公网主机)与GaussDB(for MySQL)实例。
本章节介绍了Linux方式下,SSL加密公网连接GaussDB(for MySQL)实例。SSL连接实现了数据加密功能,具有更高的安全性。
步骤1:购买ECS
- 登录管理控制台,查看是否有弹性云服务器。
- 有Linux弹性云服务器,执行3。
- 有Windows弹性云服务器,参考通过MySQL-Front连接GaussDB(for MySQL)实例。
- 无弹性云服务器,执行2。
- 购买弹性云服务器时,选择Linux操作系统,例如CentOS。
由于需要在ECS下载MySQL客户端,因此需要为ECS绑定弹性公网IP(EIP)。
购买Linux弹性云服务器请参考《弹性云服务器快速入门》中“购买弹性云服务器”章节。
- 在ECS实例基本信息页,查看ECS实例的区域和VPC。
图1 ECS基本信息
- 在GaussDB(for MySQL)实例概览页面,查看GaussDB(for MySQL)实例的区域和VPC。
图2 GaussDB(for MySQL)基本信息
步骤2:测试连通性并安装MySQL客户端
- 登录ECS实例,请参见《弹性云服务器用户指南》中“SSH密码方式登录”。
- 在GaussDB(for MySQL)“实例管理”页面,单击实例名称进入实例概览页面。
- 在实例的“网络信息”区域获取读写公网地址和数据库端口。
图3 读写公网地址和数据库端口
如果当前实例未绑定弹性公网IP,请参考为GaussDB(for MySQL)绑定弹性公网IP进行绑定。
- 在ECS上测试是否可以正常连接到GaussDB(for MySQL)实例读写公网地址和端口。
- 如果可以通信,说明网络正常。
- 如果无法通信,请检查安全组规则。
- 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将GaussDB(for MySQL)实例的公网IP地址和端口添加到出方向规则。
- 查看GaussDB(for MySQL)的安全组的入方向规则,如果源地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将ECS实例的私有IP地址和端口添加到入方向规则,具体操作请参考设置GaussDB(for MySQL)安全组规则。
图4 GaussDB(for MySQL)的安全组
- 在浏览器下载Linux系统的MySQL客户端安装包。
在下载页面找到对应版本链接,以mysql-community-client-8.0.21-1.el6.x86_64为例,下载安装包。建议您下载的MySQL客户端版本高于已创建的GaussDB(for MySQL)实例中数据库版本。
- 将安装包上传到ECS。
- 在ECS上执行以下命令安装MySQL客户端。
rpm -ivh --nodeps mysql-community-client-8.0.21-1.el6.x86_64.rpm
步骤3:使用命令行连接实例(SSL加密)
- 在GaussDB(for MySQL)“实例管理”页面,单击实例名称进入实例概览页面。
- 在“实例信息”模块的“SSL”处,查看SSL开关状态。
- 单击“SSL”处的,下载“Certificate Download”压缩包,解压后获取根证书(ca.pem)和捆绑包(ca-bundle.pem)。
- 将根证书(ca.pem)上传到ECS。
- 在ECS上执行以下命令连接GaussDB(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
表1 参数说明 参数
说明
<host>
GaussDB(for MySQL)实例的读写公网地址。
<port>
GaussDB(for MySQL)数据库端口,默认3306。
<userName>
管理员账号root。
<caName>
CA证书名称,该文件需放在执行该命令的路径下。
- 出现如下提示时,输入数据库账号对应的密码:
Enter password: