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

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云服务器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

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
关系型数据库 MySQL 数据库连接
gorm连接mysql数据库以及建表和自动迁移
gorm连接mysql数据库以及建表和自动迁移
35 0
|
4月前
|
SQL 数据库 Python
记Flask-Migrate迁移数据库失败的两个Bug——详解循环导入问题
Flask-Migrate迁移数据库失败的两个Bug 1、找不到数据库:Unknown database ‘***’ 若还没有创建数据库,该迁移工具不会自动创建。你可以使用SQL命令手动创建一个数据库:
37 0
|
4月前
|
关系型数据库 数据库 RDS
如果源数据库和目标数据库中都存在sequence的column且在迁移过程中没有新增的话
如果源数据库和目标数据库中都存在sequence的column且在迁移过程中没有新增的话
30 1
|
28天前
|
SQL 数据可视化 Apache
阿里云数据库内核 Apache Doris 兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移
阿里云数据库 SelectDB 内核 Doris 的 SQL 方言转换工具, Doris SQL Convertor 致力于提供高效、稳定的 SQL 迁移解决方案,满足用户多样化的业务需求。兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移。
阿里云数据库内核 Apache Doris 兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移
|
30天前
|
关系型数据库 MySQL 数据库
使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
【2月更文挑战第29天】使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
216 2
|
1月前
|
监控 数据处理 数据库
数据传输DTS迁移问题之总数与已完成条数不一致如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。
|
1月前
|
NoSQL 数据库连接 数据处理
数据传输DTS迁移问题之全量加增量发到目标库如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。
236 0
|
2月前
|
存储 关系型数据库 数据库
在进行RDS(Amazon Relational Database Service,亚马逊关系数据库服务)迁移时,兼容性审查
在进行RDS(Amazon Relational Database Service,亚马逊关系数据库服务)迁移时,兼容性审查
20 1
|
3月前
|
存储 安全 关系型数据库
云数据库和传统数据库之间的迁移和集成有哪些挑战?
云数据库和传统数据库之间的迁移和集成有哪些挑战?
33 0
|
4月前
|
存储 关系型数据库 MySQL
当前的DTS已经能够支持从低版本迁移至高版本的8.0
当前的DTS已经能够支持从低版本迁移至高版本的8.0
33 1