丰富的线上&线下活动,深入探索云世界
做任务,得社区积分和周边
资深技术专家手把手带教
技术交流,直击现场
让创作激发创新
海量开发者使用工具、手册,免费下载
极速、全面、稳定、安全的开源镜像
开发手册、白皮书、案例集等实战精华
热门
云服务技术课堂,各类技术课程、最佳实践输出,来好好听课吧!
1
回答
需要注意如下2 点:
如您要使用 SSL 安全连接,请确保您的源端数据库以及目标端数据库做了相应的SSL 配置,关于如何配置数据库的SSL 非本书的重点。不在此赘述。
并非所有的实例类型以及数据库类型 DTS都支持 SSL访问。
以上内容摘自《DTS控制台入门一本通》电子书,点击https://developer.aliyun.com/topic/download?id=803可下载完整版
DTS 目前只支持SSL 加密。
出现问题最多的是MySQL 数据库的账号问题以及MONGODB 数据库的账号问题。
主要有如下4 点:
MySQL 的数据库账号组成是 user 和 host 两个元素,即:user@host 这种格式。这也就意味着,如果user 相同而host 不同,这不是相同的账号。比如如下2 个账户:alitest@'%' alitest@'10.0.0.1'。当您使用“alitest” 账户在IP 为10.0.0.1 的客户端主机访问您的数据库的时候,鉴权时账户用的是alitest@'10.0.0.1'。当您使用“alitest”账户在IP 为10.0.0.2 的客户端主机访问您的数据库的时候,由于“alitest”的host 只有% 和10.0.0.1。而10.0.0.1并不符合,所以鉴权时账户用的是alitest@'%'。了解这点非常重要。
所以,我非常建议您创建一个独立的账号进行 DTS 的迁移,并且账号的host 建议是'%'。因为DTS 服务器的网段非常多,并且没有规律,可以有效的避免账户连接多问题。
MySQL遇到最多的数据库账号连接类问题是这个错误 :Access denied for user 'xxxx'@'xxxx' (using password: YES)这个错误在连接时产生的原因有2 个:账户错误或者密码错误。
选择不同的实例类型,在实例地区选择上有2 点不同,主要如下:
如果实例类型选择的是“有公网 IP 自建的数据库”,实例地区这里理论上选择任何一个都可以(因为公网IP 任何地方都可达),建议选择与数据库所在地域物理距离相近的地区。比如自建数据库的机房在北京,则建议选择华北2地区。
除“有公网 IP 自建的数据库”外的其他实例类型在选择实例地区时,则需要按照实例所在的地域进行选择。比如RDS 实例在华东1,则地域必须选择华东1。这样的话,DTS 的华东1 服务器集群才可以正常连接华东1 的RDS。
目前阿里云DTS 支持的源端数据库类型有:Oracle、MySQL、SQLServer、PostgreSQL、Mongodb、DB2、TIDB。
您选择什么样的数据库类型意味着DTS 的应用程序使用哪种数据库驱动进行连接您的源端数据库,所以请务必选择正确。这里有3 个注意点:
源库的数据库类型与目标库的数据库类型建议一致,因为兼容性最好。当选择实例类型为RDS,实例ID 是一台MySQL 实例时,目标端数据库类型或者实例类型时会展示出SQLServer、Postgresql。目前DTS 除了支持MySQL->Oracle、Mysql->Postgresql、MySQL->MySQL、MySQL-> PolarDB MySQL、MySQL-> AnalyticDB MySQL、 MySQL-> DRDS 外,其他的数据库类型暂不支持,所以如果此时目标选择SQLserver 实例,迁移会出现异常。其他的实例类型和数据库类型同理。
若源端数据库为 Sqlsever 时,当开启增量迁移时,一个 DTS 任务只允许一个数据库进行增量迁移(这取决于其事务日志)。全量迁移支持多个数据库。
若源端数据库为 PostgreSQL 时,无论是否开启增量迁移,一个 DTS 任务只允许迁移一个数据库(这取决于其XLOG)。
“数据库账号”指的是您需要DTS 使用哪个账号连接您的源端的数据库。
“实例地区”选择后也就意味着DTS 会使用这个地区的服务器(DTS 在很多地区都部署了服务器)连接源端数据库进行数据的抽取和传输(简单说就连接数据库后执行select 查询获取数据)。
“端口”部分用来指定需要DTS 访问的数据库端口,只有某些实例类型才需要填写该项目。指定了IP 只能说明您的数据库运行在这台主机上,但是这台主机上可能运行了很多的应用程序。端口就用来说明要访问哪个应用程序。
需要注意2 点:
ECS 服务器有安全组的限制。正常情况下,当选择完 ECS 的实例 ID,填写完数据库的连接信息,然后点击DTS 源端数据库的“测试连接”后,DTS 会自动把DTS 服务器的IP 端添加到ECS 的安全组里面。如图3-9。如果您遇到连通性问题,请先检查这一点是否正常。
除了安全组,ECS 上部署的操作系统内还有防火墙,请确保防火墙也做了响应的入方向放行规则。
选择这个接入方式非常适合ECS 服务器上的数据库进行迁移。
就是指在阿里云ECS 服务器上搭建的自建数据库。
2
不是随便填写一个VPC ID 就可以了。这个VPC ID 必须进行了高速通道专线、智能接入网关、VPN 网关的相关配置打通了链路才可以。没有做任何配置的VPC ID 即使填写上也无法联通( 测试连接会出错)。
虽然这里特指的是“自建数据库”,但是只要是公网可达的 ( 比如 RDS 的公网地址),都可以使用这个方式进行传输。
这里指的 IP 并不是只可以填写 IP, 也可以填写域名 ( 比如 RDS 的公网连接字符串)。
自建 MySQL 数据库一般都有一个参数bind_address,这个是指 MySQL 接受(监听)来自于哪个IPV4 或者IPV6 地址的连接,为了避免出现DTS 无法连接的情况,建议设置成“*”或“0.0.0.0”。
请一定确保,自建数据库所在主机的防火墙没有拦截 DTS 服务器地址的入方向的访问。
这种实例类型配置比较灵活,但是容易受到公网网络环境的影响,进而影响迁移的速率。
类型如下:
公网IP自建的数据库
通过专线/VPN网关/智能接入网关接入的自建数据库
无公网IP:Port的数据库(通过数据库网关DG接入)
通过云企业网CEN接入的自建数据库
ECS上的自建数据库
无论是什么类型的实例,最终实现的核心目的是能让DTS 的服务器集群连接到源端或者目标端的数据库。
DTS 迁移任务主要分为2 部分进行配置,即源库信息和目标库信息。
源库是指要使用DTS 迁移的源端的数据库。
目标库是指待迁入数据的数据库。
顾名思义,就是DTS 支持迁移的源端数据库接入的类型,并且DTS对不同的接入类型的实例,有不同的支持粒度。无论是什么类型的实例,最终实现的核心目的是能让DTS 的服务器集群连接到源端或者目标端的数据库。
“文件导入”功能,是使用DTS 提供的一个客户端工具,将工具部署在本地,使用该工具将本地数据库导出的文件,然后上传,实现导入功能,相当于我们自己导出文件然后导入一样。
“创建迁移任务”,可以进行数据迁移的任务配置,点击后,会进入DTS 迁移任务的配置界面,需要注意:
DTS目前的实现是逻辑迁移。
逻辑迁移的意思是指 DTS 会借助 SELECT 的方式抽取源库已存在的数据,然后再通过INSERT 的方式写入到目标库。
目前还不支持物理文件层面的迁移。
如下图标识1处是
DTS数据迁移页面的地域信息,此处可以切换各个地域查看不同地域的实例信息。
概览页应该是每一个多地域部署售卖的阿里云产品,都应该提供的功能。DTS概览页展示了当前账户下,各个地域下,不同DTS 任务类型的分布情况。
数据迁移可以把源端数据库的数据迁移到目标端(迁移不会影响源端数据库的数据,也不会导致源端数据库的数据丢失),数据迁移只支持后付费(按量付费)。
如图所示
DTS数据迁移页,展示了当前账户下各个地域的数据迁移实例的运行状态。用户可以在这个页面创建新的迁移任务,或查看当前迁移任务的详细信息。
地域信息
文件导入功能
创建迁移任务页面
简单理解,如图所示:
它最终做的事情就是把数据从源端抽取( 复制源端数据,源端数据依然还在) 然后写入到目标端。另外,它还提供数据订阅的功能,支持对增量数据进行订阅。
《DTS控制台入门一本通》一书,详细的介绍了DTS的概念、概览页、数据迁移、数据订阅、数据同步等内容,并后附操作示意,共读者参考熟悉。
DTS 全称为数据传输服务DTS,它最常见的用途是把本地数据库的数据迁移、同步到阿里云,或者把阿里云的数据迁移、同步到本地。它更多的是一个数据迁移产品。
《DTS控制台入门一本通》这本电子书可以通过以下链接下载:https://developer.aliyun.com/topic/download?id=803
文章 AIoT_小安 2022-07-18 1012浏览量
想认识志同道合的朋友吗?想了解更多更全面的内容吗?赶快加入钉钉群,一起互动吧! 钉钉群:30372190
阿里云点播视频安全宝典系列(一)- 概述
阿里云点播视频安全宝典系列(二)- 访问限制