不同ECS自建库间的数据迁移

<p>使用数据传输服务DTS可以实现平安云ECS上不同自建数据库间的数据迁移。本文以将ECS实例上自建MySQL中名为testmysql的数据库的所有表迁移到另一ECS实例上的自建MySQL数据库为例说明。实现步骤如下:</p> <p>1.&nbsp; 迁移前准备:</p> <p>&nbsp; &nbsp; &nbsp;a)&nbsp; 为目标MySQL创建与源数据库名称相同的数据库。</p> <p>&nbsp; &nbsp; &nbsp;b)&nbsp; 为源MySQL和目标MySQL创建迁移用的账号,并授予账号对testmysql数据库中所有表的操作权限。</p> <p>2.&nbsp; 使用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.&nbsp; 在目标ECS实例上登录自建MySQL数据库。</p> <p>2.&nbsp; 执行如下指令,创建与源数据库名称相同的数据库。</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://obs-cn-shanghai.yun.pingan.com/pcp-portal/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.&nbsp; 登录自建MySQL数据库。</p> <p>2.&nbsp; 执行如下指令,创建用于数据迁移的账号。</p> <table border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td style="background-color:#ededed; vertical-align:top"> <p>CREATE USER &#39;<em>Account</em>&#39;@&#39;<em>Host</em>&#39; IDENTIFIED BY &#39;<em>Password</em>&#39;;</p> </td> </tr> </tbody> </table> <p><img src="https://obs-cn-shanghai.yun.pingan.com/pcp-portal/20200611133249-1b90b98699a8.png" style="height:31px; margin:0px; width:65px" />:</p> <ul> <li><em>Account</em>:创建的账号名称。</li> <li><em>Host</em>:允许该账号登录数据库的主机。若允许该账号从任意主机登录数据库,可设置为&#39;%&#39;。</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 &#39;dtstest&#39;@&#39;%&#39; IDENTIFIED BY &#39;Dts123456&#39;;</p> </td> </tr> </tbody> </table> <p>3.&nbsp; 对账号进行授权。</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 &#39;<em>Account</em>&#39;@&#39;<em>Host</em>&#39;;</p> </td> </tr> </tbody> </table> <p><img src="https://obs-cn-shanghai.yun.pingan.com/pcp-portal/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>:允许该账号登录数据库的主机。若允许该账号从任意主机登录数据库,可设置为&#39;%&#39;。</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 &#39;dtstest&#39;@&#39;%&#39;;</p> </td> </tr> </tbody> </table> <p><strong><span style="font-size:18px">创建迁移任务</span></strong></p> <p>1.&nbsp; 开始创建迁移任务。</p> <p>&nbsp; &nbsp; &nbsp;a)&nbsp; 登录<a href="https://pinganyun.com/console/dts/overview" target="_blank">数据传输服务DTS管理控制台</a>。</p> <p>&nbsp; &nbsp; &nbsp;b)&nbsp; 单击左侧导航栏的<strong>迁移任务</strong>。</p> <p>&nbsp; &nbsp; &nbsp;c)&nbsp; 在<strong>迁移任务管理</strong>页面,单击页面右上角<strong>创建</strong>。</p> <p>2.&nbsp; 在<strong>创建迁移任务</strong>页面,配置<strong>源库信息</strong>及<strong>目标库信息</strong>。</p> <p>&nbsp; &nbsp; &nbsp;a)&nbsp; 填写源库及目标库的相关信息。</p> <p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&bull;&nbsp;&nbsp;<strong>实例类型</strong>:均选择<strong>ECS</strong><strong>自建库</strong>。</p> <p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&bull;&nbsp;&nbsp;<strong>实例地区</strong>:选择源库和目标库实例所在的地域。</p> <p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&bull;&nbsp;&nbsp;<strong>ECS实例ID</strong>:选择源库和目标库实例的ID。</p> <p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&bull;&nbsp;&nbsp;<strong>数据库类型</strong>:选择<strong>MySQL</strong>。</p> <p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&bull;&nbsp;&nbsp;<strong>端口号</strong>:填写源库和目标库的端口号。</p> <p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&bull;&nbsp;&nbsp;<strong>数据库账号</strong>:填写源数据库及目标数据库的账号名称。</p> <p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&bull;&nbsp;&nbsp;<strong>数据库密码</strong>:填写源数据库及目标数据库账号所对应的密码。</p> <p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&bull;&nbsp;&nbsp;<strong>连接方式</strong>:选择源库和目标库的连接方式,若选择<strong>SSL</strong><strong>安全连接</strong>,需上传证书和密钥。</p> <p><img src="https://obs-cn-shanghai.yun.pingan.com/pcp-portal/20200611134312-123abfcd9e09.png" style="height:439px; width:830px" /></p> <p>&nbsp; &nbsp; &nbsp;b)&nbsp; 单击<strong>开通白名单</strong>,允许服务访问源实例及目标实例。</p> <p>&nbsp; &nbsp; &nbsp;c)&nbsp; 单击<strong>测试连接</strong>,测试与源数据库及目标数据库的连通性。</p> <p>&nbsp; &nbsp; &nbsp;d)&nbsp; 测试连接成功后,单击<strong>下一步</strong>。</p> <p>3.&nbsp; 配置<strong>迁移类型</strong>和<strong>迁移对象</strong>。</p> <p>&nbsp; &nbsp; &nbsp;a)&nbsp; 根据实际情况选择<strong>迁移类型</strong>,本文以<strong>结构迁移</strong>+<strong>全量迁移</strong>为例。</p> <p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&bull;&nbsp;&nbsp;若目标数据库为空,迁移类型需要包括<strong>结构迁移。</strong></p> <p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&bull;&nbsp;&nbsp;不停服迁移,迁移类型请选择:<strong>结构迁移</strong>+<strong>全量迁移</strong>+<strong>增量迁移</strong>。</p> <p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&bull;&nbsp;&nbsp;仅需要进行增量迁移,迁移类型选择<strong>增量迁移</strong>。</p> <p><img src="https://obs-cn-shanghai.yun.pingan.com/pcp-portal/20200611134441-1e9cb4df9aae.png" style="height:432px; width:803px" /></p> <p>&nbsp; &nbsp; &nbsp;b)&nbsp; 勾选<strong>迁移对象</strong>,单击&nbsp;<img src="https://obs-cn-shanghai.yun.pingan.com/pcp-portal/20200611134503-18ee552b9120.png" style="height:14px; margin:0px; width:15px" />,将其添加到<strong>已选择对象</strong>区域。</p> <p>4.&nbsp; 预检查。</p> <p>&nbsp; &nbsp; &nbsp;a)&nbsp; 单击<strong>预检查并启动</strong>,进入<strong>预检测</strong>页面。系统将针对各检查项目进行预检查。若检查结果为失败,请修改配置后重新进行预检查,直到100%检查通过。</p> <p><img src="https://obs-cn-shanghai.yun.pingan.com/pcp-portal/20200611134539-127a0b7194d5.png" style="height:441px; width:830px" /></p> <p>&nbsp; &nbsp; &nbsp;b)&nbsp; 单击<strong>下一步</strong>,进入<strong>迁移配置</strong>页面。</p> <p>5.&nbsp; 配置迁移链路规格。</p> <p>&nbsp; &nbsp; &nbsp;a)&nbsp; 在<strong>购买配置确认</strong>区域,选择<strong>迁移链路规格</strong>,可参考<a href="https://pinganyun.com/ssr/help/database/DTS/DtsProductProfile.5d71d01017bbc82d1477b70c" target="_blank">数据迁移链路规格</a>。</p> <p>&nbsp; &nbsp; &nbsp;b)&nbsp; 单击<strong>购买并开通</strong>,进入<strong>订单确认</strong>页面,确认DTS相关信息。</p> <p>6.&nbsp; 单击<strong>确认开通</strong>后即可开启迁移任务。在<strong>迁移任务管理</strong>页面,通过任务<strong>状态</strong>栏可以查看迁移进度,迁移完成后,目标任务<strong>状态</strong>显示为<strong>已完成</strong>。</p> <p><img src="https://obs-cn-shanghai.yun.pingan.com/pcp-portal/20200611134614-1f91b7b79c6a.png" style="height:116px; width:830px" /></p>
以上内容是否解决了您的问题?
请补全提交信息!
咨询·建议

电话咨询 - 7x24 小时

400-151-8800

邮件咨询

cloud@pingan.com

在线客服

7x24 小时,急速解答

工单支持

解决云产品相关技术问题