【云计算的1024种玩法】使用 DTS 轻松迁移云数据库

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器 ECS,u1 2核4GB 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 相信很多老站长将自己的网站从旧服务器迁移到云服务器上的时候最头疼的就是数据库的备份和还原了吧。一些有年头的地方门户可能数据库文件即便是压缩后都会有几个G那么大,用 phpMyAdmin 根本不可能完全导出,就算用其他工具导出了备份文件上传下载传输又要浪费不知道多少时间,要知道国内服务器基本上都没大多带宽。

前言

相信很多老站长将自己的网站从旧服务器迁移到云服务器上的时候最头疼的就是数据库的备份和还原了吧。一些有年头的地方门户可能数据库文件即便是压缩后都会有几个G那么大,用 phpMyAdmin 根本不可能完全导出,就算用其他工具导出了备份文件上传下载传输又要浪费不知道多少时间,要知道国内服务器基本上都没大多带宽。

其实阿里云一直都有为大家上云迁移数据库准备一个很干货的产品,那就是 数据传输(DTS),可以方便的实现 MySQL、SQLServer、PostgreSQL、MongoDB 等多种数据源到 RDS、ECS甚至非阿里云服务器的迁移。

这里以 MySQL 服务器为例向大家介绍操作教程,其实还支持 SQLServer、PostgreSQL、MongoDB、Redis 等常见数据库。

要求 & 收获

需要使用到的产品:

  1. 任意(包括非阿里云)服务器/ECS/轻量应用服务器(安装任意 Linux 发行版镜像)
  2. MySQL 数据库
  3. 云数据库 MySQL 版(或者其他接受迁移的数据库)
  4. 数据传输产品

通过本文你将讲学到:

  1. 使用 DTS
  2. 数据库的快速迁移和恢复

教程

被迁移数据库可访问设置

传统网站架构一般来说为了安全起见,数据库的设置默认都是只接受本机(localhost)访问的,而 DTS 的迁移必须依赖公网,所以我们需要为 DTS 开放连接支持。

服务器防火墙

一般来说服务器会有一个防火墙,CentOS 7 是 FireWall、CentOS 6 、 Debian 是 iptables 以及 Ubuntu Server 是 UFW。

FireWall 开放数据库端口:

systemctl start firewalld.service #开启防火墙

#开放 http 80 和 https 443 和 SSH 22 端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent

#生效规则
firewall-cmd --reload

iptables 开放数据库端口:

修改 /etc/sysconfig/iptables 文件

适当位置加入:

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT

然后重启 iptables

/etc/init.d/iptables restart  

ufw 开放数据库端口

ufw allow mysql

开放账户的远程连接

首先,我们要通过命令行登录操作一下 数据库:

mysql -u root -p

然后会需要输入一下 root 密码,输入的时候是隐藏的并不是说没有输入进去。
然后运行:

GRANT ALL PRIVILEGES ON *.* TO '数据库账号'@'%' IDENTIFIED BY '对应账号的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;

如果有安装 phpMyAdmin 就更简单了:

用户 - 登录信息 中将 Host 改成 任意主机 就行

image

数据库的设置

修改 my.cnf 文件,一般来说该文件会位于: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf 这几个位置,如果不知道就翻阅一下服务器环境的手册。

找到 bind-address = 127.0.0.1 修改为:

bind-address    = 0.0.0.0

一些交旧的 MySQL 版本,可能用的使用 skip-networking 命令来关闭网络,将其删掉即可。

然后重启 MySQL。

service mysql restart

ok,被迁移数据库的设置到此结束。这是一个大难点,因为不同的环境差异性太大。

迁移

设置被迁移数据库是唯一的难点,不过掌握了以后就可以通吃所有数据库了。如果目标迁移数据库是 云数据库 就不需要额外的设置了,创建好迁移数据库和账号就行。如果是迁移至自建的数据库,那么就需要再重复一次第一步了。

一、进入 DTS 创建迁移任务 填写好 被迁移数据库目标数据库,然后点击 测试,提示 测试通过 就ok了。

image

二、选择迁移对象,一般来说就是整个数据库都迁移。 如果有特殊的需求,比如说一个论坛的数据库肯定是不断增长的,如果要迁移就可能需要关站,但是通过增量迁移帖子对应的表就可以实现不关站的平滑迁移了,当然这对操作者的技能要求比较高,但是已经极大的降低了难度了。

image

三、然后就是预检查的如果都是绿勾就是一点事情都没有,如果有不对的地方就需要改正。

image

四、然后选择链路规格:

image

不同规格价格不同,不过貌似迁移到阿里云是不用钱的还是因为演示数据量太小我也是傻傻分不清楚。

五、然后等两个绿条都 100% 了就可以了,我们就可以修改数据库配置文件将数据库改成 RDS 或者其他被迁移的数据库即可。

image

相关实践学习
ECS云服务器新手上路
本实验会自动创建一台ECS实例。首先,远程登陆ECS实例,并部署应用。然后,登陆管理控制台,并对这台ECS实例进行管理操作。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
29天前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!
|
17天前
|
关系型数据库 MySQL 数据库
MySQL mysqldump教程:轻松备份与迁移数据库
MySQL mysqldump教程:轻松备份与迁移数据库
|
16天前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之要验证MySQL迁移后的数据库数据与迁移前的数据一致性,该怎么办
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
PolarDB产品使用问题之要验证MySQL迁移后的数据库数据与迁移前的数据一致性,该怎么办
|
23天前
|
Java 数据库连接 数据库
实现Spring Boot与MyBatis结合进行数据库历史数据的定时迁移
实现Spring Boot与MyBatis结合进行数据库历史数据的定时迁移
36 2
|
1天前
|
网络协议 关系型数据库 MySQL
【最佳实践】MySQL数据库迁移到PXC集群
借本次数据库迁移实践,再次总结一下MySQL数据库迁移到PXC的最佳操作路径。
7 0
|
4天前
|
关系型数据库 数据库 RDS
利用DTS将自建mysql5.7版本数据库迁移至对应rds报错
利用DTS将自建mysql5.7版本数据库迁移至对应rds报错
28 0
|
5天前
|
SQL 负载均衡 安全
阿里云DTS踩坑经验分享系列|全量迁移加速方法指南
阿里云数据传输服务DTS是一个便捷、高效的数据迁移和数据同步服务。一般而言,一个完整的DTS数据迁移任务主要包括预检查、结构迁移,全量迁移,增量迁移等阶段,其中全量迁移会将源数据库的存量数据全部迁移到目标数据库。面对各种各样的用户场景, 本文将重点介绍如何使用阿里云DTS实现全量数据迁移加速,以缩短迁移时间,确保数据迁移的效率和稳定性。
105 0
|
16天前
|
关系型数据库 分布式数据库 数据库
PolarDB产品使用问题之迁移后数据库数据不同步是什么导致的
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
1月前
|
存储 数据采集 NoSQL
DTS在迁移大数据量的MongoDB数据库时如何保证数据的准确性和完整性?
【6月更文挑战第4天】DTS在迁移大数据量的MongoDB数据库时如何保证数据的准确性和完整性?
104 1
|
1月前
|
NoSQL 关系型数据库 MongoDB
DTS支持哪些非关系型数据库的数据交互?
【6月更文挑战第4天】DTS支持哪些非关系型数据库的数据交互?
28 1