ECS自建库和RDS实例间的数据迁移

<p>使用数据传输服务DTS可以实现平安云ECS上自建的数据库和平安云RDS实例间的数据迁移。</p> <p>本文以将ECS实例上自建的名为testmysql的MySQL数据库中的所有表迁移到RDS-MySQL实例为例说明,在迁移前为自建的MySQL数据库创建迁移用的账号,并授予该账号对testmysql数据库中所有表的操作权限,然后使用DTS创建迁移任务,完成数据迁移。</p> <p><strong><span style="font-size:18px">前提条件</span></strong></p> <ul> <li>ECS自建MySQL数据库和RDS-MySQL实例版本需为5.6或5.7版本。</li> <li>您已成功在RDS-MySQL实例上创建名为testmysql的数据库。目标实例需包含与源实例中待迁移数据库名称相同的数据库。</li> <li>您已成功在RDS-MySQL实例上创建用户并授权用户账号对testmysql数据库的读写权限,可参考<a href="https://pinganyun.com/ssr/help/database/RDS/Getting_Started.RDS_MySQL.Create_User" target="_blank">创建用户</a>和<a href="https://pinganyun.com/ssr/help/database/RDS/Getting_Started.RDS_MySQL.Binding_Account" target="_blank">授权账号与数据库权限</a>。&nbsp;</li> </ul> <p><strong><span style="font-size:18px">为自建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> <tr> <td style="vertical-align:top"> <p>RDS MySQL实例</p> </td> <td style="vertical-align:top"> <p>读写权限</p> </td> <td style="vertical-align:top"> <p>读写权限</p> </td> <td style="vertical-align:top"> <p>读写权限</p> </td> </tr> </tbody> </table> <p><span style="font-size:18px"><strong>操作步骤</strong></span></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><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="图片_x0020_16" o:spid="_x0000_i1026" type="#_x0000_t75" style='width:40pt;height:19pt;visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///D:/Users/CHENGJING534/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png" o:title=""/> </v:shape><![endif]--><img src="https://obs-cn-shanghai.yun.pingan.com/pcp-portal/20200611110726-13233d409f92.png" style="height:31px; margin:0px; width:65px" />:</p> <ul> <li><em>Account</em>:创建的账号名称。</li> <li><em>Host</em>:允许该账号登录数据库的主机IP地址。若允许该账号从任意主机登录数据库,可设置为&#39;%&#39;。</li> <li><em>Password</em>:设置账号的密码。</li> </ul> <p>如下,本例中创建了名为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;DTStest123&#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/20200611110726-13233d409f92.png" style="height:31px; margin:0px; width:65px" />:</p> <ul> <li><em>privileges</em>:授予账号的操作权限,如SELECT、SHOW VIEW等,若需授予账号所有操作权限,可使用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><span style="font-size:18px"><strong>创建迁移任务</strong></span></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> <table border="1" cellpadding="0" cellspacing="0" style="width:800px"> <tbody> <tr> <td colspan="2" 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 rowspan="8" style="vertical-align:top"> <p>源库信息</p> </td> <td style="vertical-align:top"> <p>实例类型</p> </td> <td style="vertical-align:top"> <p>选择<strong>ECS</strong><strong>自建库</strong>。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>实例地区</p> </td> <td style="vertical-align:top"> <p>选择ECS实例所在地域。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>ECS实例ID</p> </td> <td style="vertical-align:top"> <p>选择ECS实例的名称。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>数据库类型</p> </td> <td style="vertical-align:top"> <p>选择<strong>MySQL</strong>。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>端口</p> </td> <td style="vertical-align:top"> <p>填写MySQL数据库的端口。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>数据库账号</p> </td> <td style="vertical-align:top"> <p>填写MySQL数据库用于数据传输的账号名称。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>数据库密码</p> </td> <td style="vertical-align:top"> <p>填写账号所对应的密码。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>连接方式</p> </td> <td style="vertical-align:top"> <p>选择连接方式。若选择<strong>SSL</strong><strong>安全连接</strong>,需上传证书和密钥。</p> </td> </tr> <tr> <td rowspan="6" style="vertical-align:top"> <p>目标库信息</p> </td> <td style="vertical-align:top"> <p>实例类型</p> </td> <td style="vertical-align:top"> <p>选择<strong>RDS</strong><strong>实例</strong>。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>实例地区</p> </td> <td style="vertical-align:top"> <p>选择RDS实例所在地域。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>RDS实例ID</p> </td> <td style="vertical-align:top"> <p>选择RDS实例的名称。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>数据库库名</p> </td> <td style="vertical-align:top"> <p>RDS-MySQL数据库无需填写。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>数据库账号</p> </td> <td style="vertical-align:top"> <p>填写数据库的账号名称。</p> </td> </tr> <tr> <td style="vertical-align:top"> <p>数据库密码</p> </td> <td style="vertical-align:top"> <p>填写账号所对应的密码。</p> </td> </tr> </tbody> </table> <p><img src="https://obs-cn-shanghai.yun.pingan.com/pcp-portal/20200611135222-1be51b479cc6.png" style="height:435px; 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; &bull;&nbsp;&nbsp;若目标数据库为空,迁移类型需要包括<strong>结构迁移。</strong></p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &bull;&nbsp;&nbsp;不停服迁移,迁移类型请选择:<strong>结构迁移</strong>+<strong>全量迁移</strong>+<strong>增量迁移</strong>。</p> <p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &bull;&nbsp;&nbsp;仅需要进行增量迁移,迁移类型选择<strong>增量迁移</strong>。</p> <p><img src="https://obs-cn-shanghai.yun.pingan.com/pcp-portal/20200611111546-13ca2765965b.png" style="height:432px; width:803px" /></p> <p>&nbsp; &nbsp; &nbsp;b)&nbsp; 勾选<strong>迁移对象</strong>,单击<img src="https://obs-cn-shanghai.yun.pingan.com/pcp-portal/20200611111630-105c385690dd.png" style="height:18px; margin:0px; width:20px" />,将其添加到<strong>已选择对象</strong>区域。</p> <p>4.&nbsp; 预检查。</p> <p>&nbsp; &nbsp; &nbsp;a)&nbsp; 单击<strong>预检查并启动</strong>,进入<strong>预检测</strong>页面。系统将针对各检查项目进行预检查。若检查结果为失败,请修改配置后重新进行预检查,直到100%检查通过。</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/20200611111801-18085d38925d.png" style="height:80px; width:830px" /></p> <p>&nbsp;</p>
以上内容是否解决了您的问题?
请补全提交信息!
咨询·建议

电话咨询 - 7x24 小时

400-151-8800

邮件咨询

cloud@pingan.com

在线客服

7x24 小时,急速解答

工单支持

解决云产品相关技术问题