在前文《内网访问实现云服务器自建数据库迁移至云数据库》,老刘博客实操了将博客站数据库从快杰云主机上迁移到UCloud优刻得NVMe机型UDB MySQL云数据库,博客站顺利迁移,并正常运转。但迁移方式明显短板严重,将3MB的云服务器自建数据库备份下载再上传,这很顺利,流畅,那倘若是3TB ,3PB量级的自建数据库还这样下载然后上传,这效率太低,傻子才这么干。
结合之前《UCloud数据传输服务UDTS产品介绍及其应用场景》中提到的优刻得数据传输服务UDTS产品,本文将实操使用优刻得免费的UDTS工具将老刘博客站点的数据库从快杰云主机自建迁移到UCloud优刻得云数据库上,并实现老刘博客站点正常运行。
UCloud可用区同地域间迁移数据库。此种场景如,香港快杰云主机上自建数据库想要迁移到香港NVMe机型云数据库MySQL,云主机和云数据库所在可用区相同,这里需要确保创建的云数据库所在VPC网络和子网号段与云主机一致,然后通过内网地址的方式进行数据传输即可。步骤如下——
创建云数据库
创建与老刘博客站点使用的快杰云主机同一可用区(香港),同一所属VPC(
DefaultVPC)和子网(
DefaultNetwork 10.8.0.0/16)的高可用版NVMe机型MySQL,详细创建流程可参阅《内网访问实现云服务器自建数据库迁移至云数据库》,这里创建完成的云数据库配置如下:
自建数据库权限配置
1,快杰云主机防火墙设置放行3306端口,如果觉得云主机放行3306不安全,可以登录云主机,设置只针对10.7.255.252(提供优刻得UDTS服务的物理服务器IP地址)放行3306端口。领取快杰云主机优惠券>>
iptables -I INPUT 1 -p tcp --dport 3306 -s 10.7.255.252 -j ACCEPT
2,修改快杰云主机自建数据库访问权限,由本地服务器更改为10.7.255.252(提供优刻得UDTS服务的物理服务器IP地址),或者选择所有人访问。
3,点选上图中phpMyAdmin按钮,进到自建数据库管理后台,修改www_laoliublog_用户权限,勾选全选数据库用户权限,然后执行,授权除了GRANT以外的所有权限。
UCloud数据传输服务UDTS是连通数据源(这里是快杰云主机自建数据库)和目标云数据库的,UDTS默认已经配置好了与云数据库或Redis等间连通的端口和相关权限,而数据源则需要放开相应端口和相关权限,才能保障和UDTS的连通性。UDTS相当于一台水泵,泵出口那端(也就是UCloud云数据库等)是连接通畅的,但泵入口(也就是快杰云主机自建数据库),如果有杂物阻塞,水是无法完成输送的。
数据传输UDTS创建任务
1,选择全量任务数据源(这里为快杰云主机自建)和目标(这里是UCloud云数据库)类型均选MySQL,地址类型选择内网地址,输入数据源也就是搭建老刘博客站点的快杰云主机内网IP地址10.8.81.149,选上和快杰云主机一致的可用区,VPC ID和所属子网。
2,输入数据源(快杰云主机)端口,也就是自建数据库的端口3306,自建数据库用户名,数据库名和密码。
3,设置传输目标(UCloud云数据库)内网地址,所在地域及VPC网络信息(需与上述快杰云主机一致),输入云数据库端口3306,云数据库用户名即密码。
4,命名数据传输UDTS任务名,这里取名:内网地址自建迁云数据库。并进行连通性检查,这里数据源连通性,数据源权限,传输目标连通性和传输目标权限检查结果均成功。在检查结果页面点击确定,在UDTS任务创建页点击确认,完成UDTS任务的创建。即在确认创建任务前,最好要检查连通性。
启动UDTS任务进行数据传输
1,完成连通性检查,创建UDTS数据传输任务后,启动已创建的任务进行数据库传输,等待一段时间,直到任务状态显示:完成。这里我们不必一直停留在这个页面,如果传输失败,系统会向我们发送邮件和短信提醒失败的,这时具体失败原因,就需要咨询UCloud官网售后支持了。
2,点选UDTS任务详情,目标信息栏,可以看到上面购买的UCloud云数据库已经创建了一个和快杰云主机自己数据库同名的数据库。这一点可以登录云数据库管理后台查看,显然www_laoliublog_数据库已完成传输。
博客站点调用云数据库
以上完成了UCloud快杰云主机自建数据库向UCloud云数据库迁移过程,这里还没有完全结束,毕竟我还要让老刘博客站点使用云数据库来运行。那么如何调用刚刚拷贝了的云数据库中www_laoliublog_数据库呢?因老刘博客站点是通过wordpress搭建的,这里需要修改站点根目录下wp_config.php文件。
将wp-config.php文件中以下代码:
define( 'DB_NAME', 'www_laoliublog_' );
/** MySQL database username */
define( 'DB_USER', 'www_laoliublog_' );
/** MySQL database password */
define( 'DB_PASSWORD', 'i***Y' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
修改为:
define( 'DB_NAME', 'www_laoliublog_' );
/** MySQL database username */
define( 'DB_USER', 'root' );
/** MySQL database password */
define( 'DB_PASSWORD', '1***A' );
/** MySQL hostname */
define( 'DB_HOST', '10.8.167.247:3306' );
刷新后,站点运转正常。这时,我们可以把快杰云主机上自建的数据库删掉了。