步骤1:RDS环境搭建与配置。
登录阿里云控制台创建RDS MySQL实例。在“数据安全性”页面使用curl -4 ifconfig.me查询本机IP,将其加入白名单分组。进入“账号管理”创建账号user01,设置密码User01pass;随后在“数据库管理”中创建数据库mysql_test并授予user01读写权限。最后申请外网地址,获取连接域名。
步骤2:远程连接与基础操作。
打开Navicat,新建MySQL连接,填入RDS外网地址、端口3306及账号密码。连接成功后,新建查询执行SQL命令。创建user表,插入包含Lucas等人的测试数据,执行UPDATE和DELETE语句修改数据,最终通过SELECT查询验证表中剩余两条记录的ID、姓名及年龄信息。
步骤3:ECS源库构建与配置。
SSH登录ECS,执行sudo apt install mysql-server安装数据库。运行mysql_secure_installation完成安全初始化,使用ALTER USER命令将root密码设置为123456。登录MySQL后创建migrate库及staff表,插入joe、Anny等三条测试数据。修改/etc/mysql/mysql.conf.d/mysql.cnf文件,添加server_id=2及log_bin配置以开启Binlog,并重启服务生效。
步骤4:DTS迁移任务配置。
进入DTS控制台创建迁移任务,源库选择ECS公网IP,目标库选择RDS实例。配置专用迁移账号migration。在预检查阶段遇到连接超时,排查并放行ECS安全组3306端口,修改MySQL配置文件中bind-address为0.0.0.0。确认连通性后,选择库表结构迁移和全量迁移,链路规格选为small,启动任务。
步骤5:迁移验证与Python测试。
待DTS任务状态显示“已完成”后,在Navicat中刷新RDS实例,确认migrate库及数据已同步。在ECS上执行python3 -m venv myenv创建虚拟环境,安装pymysql库。编写rds.py脚本,填入RDS连接参数,执行SELECT * FROM staff语句。运行脚本,终端成功打印出三条员工数据,验证全链路打通。
实验结果 实验成功创建了阿里云RDS实例并通过Navicat实现了远程管理,完成了对user表的增删改查操作。在ECS端构建的MySQL源库环境配置正确,Binlog功能正常开启。通过DTS服务配置并成功执行了从ECS到RDS的全量数据迁移,目标库中的migrate数据库及staff表结构与源库完全一致,数据行数无误。最后,Python脚本成功连接RDS并输出了预期的查询结果,验证了数据库与应用程序的正常交互。
个人收获 通过本次实验,我深入理解了云数据库RDS的托管优势及其安全体系,特别是白名单机制在访问控制中的关键作用。掌握了利用DTS进行数据库上云迁移的完整流程,学会了排查网络连通性及Binlog配置等常见故障。同时,实践了应用层通过PyMySQL驱动访问云数据库的方法,提升了在云环境下进行数据库运维与开发集成的综合实践能力。
本文作者:Linxiong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!