不同ECS自建库间的数据迁移
<p>使用数据传输服务DTS可以实现平安云ECS上不同自建数据库间的数据迁移。本文以将ECS实例上自建MySQL中名为testmysql的数据库的所有表迁移到另一ECS实例上的自建MySQL数据库为例说明。实现步骤如下:</p>
<p>1. 迁移前准备:</p>
<p> a) 为目标MySQL创建与源数据库名称相同的数据库。</p>
<p> b) 为源MySQL和目标MySQL创建迁移用的账号,并授予账号对testmysql数据库中所有表的操作权限。</p>
<p>2. 使用DTS创建迁移任务,完成数据迁移。</p>
<p><span style="font-size:18px"><strong>前提条件</strong></span></p>
<p>ECS自建MySQL数据库版本需为5.6或5.7版本。</p>
<p><strong><span style="font-size:18px">为目标MySQL创建数据库</span></strong></p>
<p>使用DTS迁移MySQL数据库时,目标实例需包含与源实例中待迁移数据库名称相同的数据库。</p>
<p><span style="font-size:16px"><strong>操作步骤</strong></span></p>
<p>1. 在目标ECS实例上登录自建MySQL数据库。</p>
<p>2. 执行如下指令,创建与源数据库名称相同的数据库。</p>
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="background-color:#ededed; vertical-align:top">
<p>CREATE DATABASE <em>Database-name</em>;</p>
</td>
</tr>
</tbody>
</table>
<p><img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20200611133249-1b90b98699a8.png" style="height:31px; margin:0px; width:65px" />:</p>
<p><em>Database-name</em>:创建的数据库名称。本例中需创建名为testmysql的数据库。</p>
<p><strong><span style="font-size:18px">为源MySQL和目标MySQL创建账号并完成授权</span></strong></p>
<p>使用DTS迁移ECS自建MySQL数据库时,无法使用自建MySQL默认的root账号进行连接。可在ECS自建MySQL数据库上新建用户账号,并授予账号对数据库的操作权限,用于数据迁移。</p>
<p>迁移账号的权限要求如下:</p>
<table border="1" cellpadding="0" cellspacing="0" style="width:800px">
<tbody>
<tr>
<td style="background-color:#ededed; vertical-align:top">
<p><strong>数据库类型</strong></p>
</td>
<td style="background-color:#ededed; vertical-align:top">
<p><strong>结构迁移</strong></p>
</td>
<td style="background-color:#ededed; vertical-align:top">
<p><strong>全量迁移</strong></p>
</td>
<td style="background-color:#ededed; vertical-align:top">
<p><strong>增量迁移</strong></p>
</td>
</tr>
<tr>
<td style="vertical-align:top">
<p>自建MySQL数据库</p>
</td>
<td style="vertical-align:top">
<p>SELECT权限</p>
</td>
<td style="vertical-align:top">
<p>SELECT权限</p>
</td>
<td style="vertical-align:top">
<p>REPLICATION SLAVE、REPLICATION CLIENT、SHOW VIEW和SELECT权限</p>
</td>
</tr>
</tbody>
</table>
<p><strong>操作步骤</strong></p>
<p>1. 登录自建MySQL数据库。</p>
<p>2. 执行如下指令,创建用于数据迁移的账号。</p>
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="background-color:#ededed; vertical-align:top">
<p>CREATE USER '<em>Account</em>'@'<em>Host</em>' IDENTIFIED BY '<em>Password</em>';</p>
</td>
</tr>
</tbody>
</table>
<p><img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20200611133249-1b90b98699a8.png" style="height:31px; margin:0px; width:65px" />:</p>
<ul>
<li><em>Account</em>:创建的账号名称。</li>
<li><em>Host</em>:允许该账号登录数据库的主机。若允许该账号从任意主机登录数据库,可设置为'%'。</li>
<li><em>Password</em>:设置账号的密码。</li>
</ul>
<p>如下,本例中为源MySQL和目标MySQL均创建了名为dtstest的账号,并允许从任意主机登录数据库。</p>
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="background-color:#ededed; vertical-align:top">
<p>CREATE USER 'dtstest'@'%' IDENTIFIED BY 'Dts123456';</p>
</td>
</tr>
</tbody>
</table>
<p>3. 对账号进行授权。</p>
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="background-color:#ededed; vertical-align:top">
<p>GRANT <em>privileges</em> ON <em>Database-name.Table-name</em> TO '<em>Account</em>'@'<em>Host</em>';</p>
</td>
</tr>
</tbody>
</table>
<p><img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20200611133249-1b90b98699a8.png" style="height:31px; margin:0px; width:65px" />:</p>
<ul>
<li><em>privileges</em>:授予账号的操作权限,如SELECT、INSERT、UPDATE等,若需授予账号所有操作权限,可使用ALL。</li>
<li><em>Database-name</em>:数据库名称。若需授予账号所有数据库的操作权限,可使用符号*。</li>
<li><em>Table-name</em>:表名。若需授予账号数据库中所有表的操作权限,可使用符号*。</li>
<li><em>Account</em>:待授权的账号。</li>
<li><em>Host</em>:允许该账号登录数据库的主机。若允许该账号从任意主机登录数据库,可设置为'%'。</li>
</ul>
<p>如下,本例中授予账号dtstest对数据库testmysql中所有表的操作权限,并允许该账号从任意主机登录数据库。</p>
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="background-color:#ededed; vertical-align:top">
<p>GRANT ALL ON testmysql.* TO 'dtstest'@'%';</p>
</td>
</tr>
</tbody>
</table>
<p><strong><span style="font-size:18px">创建迁移任务</span></strong></p>
<p>1. 开始创建迁移任务。</p>
<p> a) 登录<a href="https://pinganyun.com/console/dts/overview" target="_blank">数据传输服务DTS管理控制台</a>。</p>
<p> b) 单击左侧导航栏的<strong>迁移任务</strong>。</p>
<p> c) 在<strong>迁移任务管理</strong>页面,单击页面右上角<strong>创建</strong>。</p>
<p>2. 在<strong>创建迁移任务</strong>页面,配置<strong>源库信息</strong>及<strong>目标库信息</strong>。</p>
<p> a) 填写源库及目标库的相关信息。</p>
<p> • <strong>实例类型</strong>:均选择<strong>ECS</strong><strong>自建库</strong>。</p>
<p> • <strong>实例地区</strong>:选择源库和目标库实例所在的地域。</p>
<p> • <strong>ECS实例ID</strong>:选择源库和目标库实例的ID。</p>
<p> • <strong>数据库类型</strong>:选择<strong>MySQL</strong>。</p>
<p> • <strong>端口号</strong>:填写源库和目标库的端口号。</p>
<p> • <strong>数据库账号</strong>:填写源数据库及目标数据库的账号名称。</p>
<p> • <strong>数据库密码</strong>:填写源数据库及目标数据库账号所对应的密码。</p>
<p> • <strong>连接方式</strong>:选择源库和目标库的连接方式,若选择<strong>SSL</strong><strong>安全连接</strong>,需上传证书和密钥。</p>
<p><img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20200611134312-123abfcd9e09.png" style="height:439px; width:830px" /></p>
<p> b) 单击<strong>开通白名单</strong>,允许服务访问源实例及目标实例。</p>
<p> c) 单击<strong>测试连接</strong>,测试与源数据库及目标数据库的连通性。</p>
<p> d) 测试连接成功后,单击<strong>下一步</strong>。</p>
<p>3. 配置<strong>迁移类型</strong>和<strong>迁移对象</strong>。</p>
<p> a) 根据实际情况选择<strong>迁移类型</strong>,本文以<strong>结构迁移</strong>+<strong>全量迁移</strong>为例。</p>
<p> • 若目标数据库为空,迁移类型需要包括<strong>结构迁移。</strong></p>
<p> • 不停服迁移,迁移类型请选择:<strong>结构迁移</strong>+<strong>全量迁移</strong>+<strong>增量迁移</strong>。</p>
<p> • 仅需要进行增量迁移,迁移类型选择<strong>增量迁移</strong>。</p>
<p><img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20200611134441-1e9cb4df9aae.png" style="height:432px; width:803px" /></p>
<p> b) 勾选<strong>迁移对象</strong>,单击 <img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20200611134503-18ee552b9120.png" style="height:14px; margin:0px; width:15px" />,将其添加到<strong>已选择对象</strong>区域。</p>
<p>4. 预检查。</p>
<p> a) 单击<strong>预检查并启动</strong>,进入<strong>预检测</strong>页面。系统将针对各检查项目进行预检查。若检查结果为失败,请修改配置后重新进行预检查,直到100%检查通过。</p>
<p><img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20200611134539-127a0b7194d5.png" style="height:441px; width:830px" /></p>
<p> b) 单击<strong>下一步</strong>,进入<strong>迁移配置</strong>页面。</p>
<p>5. 配置迁移链路规格。</p>
<p> a) 在<strong>购买配置确认</strong>区域,选择<strong>迁移链路规格</strong>,可参考<a href="https://pinganyun.com/ssr/help/database/DTS/DtsProductProfile.5d71d01017bbc82d1477b70c" target="_blank">数据迁移链路规格</a>。</p>
<p> b) 单击<strong>购买并开通</strong>,进入<strong>订单确认</strong>页面,确认DTS相关信息。</p>
<p>6. 单击<strong>确认开通</strong>后即可开启迁移任务。在<strong>迁移任务管理</strong>页面,通过任务<strong>状态</strong>栏可以查看迁移进度,迁移完成后,目标任务<strong>状态</strong>显示为<strong>已完成</strong>。</p>
<p><img src="https://pcp-portal-sca.obs-cn-shenzhen.pinganyun.com/pcp-portal-sca/20200611134614-1f91b7b79c6a.png" style="height:116px; width:830px" /></p>
提交成功!非常感谢您的反馈,我们会继续努力做到更好!