本篇内容主要讲解“数据库迁移到aurora mysql的方式介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据库迁移到aurora mysql的方式介绍”吧!
前言
数据库迁移到aurora mysql的方式有以下几种:
1 )Rds mysql迁移到aurora mysql
使用rds mysql快照迁移
使用rds mysql只读副本迁移
上述两种迁移方式非常简单,只需在aws rds 控制台操作即可,本片就不再进行具体演练,具体可参考文档
快照迁移:https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.RDSMySQL.Import.html
只读副本迁移:https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.RDSMySQL.Replica.html
2)外部mysql数据库前哟aurora mysql
使用mysqldump实用程序创建数据的转储,然后将该数据导入现有的aurora mysql数据库集群。 将完整备份文件和增量文件从数据库复制到S3存储桶,然后从这些文件还原aurora mysql数据库集群,速度可能比使用mysqldump迁移数据要快。
1 使用mysqldump实用程序创建数据库的转储,然后将该数据导入现有aurora mysql数据库集群
因为aurora mysql与mysql兼容,所以该过程与将mysql数据导入rds mysql的过程类似,可参考文档 https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.NonRDSRepl.html。
其整体架构如下图所示:
1.1 安装并配置好mysql数据库
我在光环云裸金属服务器上部署了mysql数据库,具体部署过程略,可以百度。
1.2 创建mysql数据库的副本
1.2.1 设置复制选项
编辑文件/etc/my.cnf sudo vi /etc/my.cnf
更新[mysqld]字段如下:
[mysqld] log-bin=mysql-bin server-id=1
重启mysql服务 service mysqld restart
1.2.2 创建现有数据库的备份副本
上图中新建了一个数据库schema_xuyi,现在将schema_xuyi进行备份,执行如下命令:
mysqldump \
--databases schema_xuyi \
--master-data=2 \
--single-transaction \
--order-by-primary \
-r backup.sql \
-u local_user \
-p
图中可见生成了备份文件backup_xuyi.sql
1.3 创建aurora mysql数据库
具体创建过程省略,注意与此前的mysql数据库版本尽量一致。
远程连接到aurora mysql数据库,其初始状态如下图:
1.4 使用mysql命令远程连接到aurora mysql数据库并导入此前的sql文件
执行命令:
mysql -h aurora-1-instance-1.cbgpcbkn8knw.us-east-1.rds.amazonaws.com -P 3306 -u admin -p
其中aurora-1-instance-1.cbgpcbkn8knw.us-east-1.rds.amazonaws.com部分是aurora mysql数据库的终端节点,连接成功
执行命令 source backup_xuyi.sql;
Workbench的刷新操作没找到,重新连接了一下aurora mysql数据库,可见其状态如下:
其中已经有了schema_xuyi的库,说明mysqldump导入成功,本次测试只是为了验证从外部mysql导入到aurora的过程,至此本次操作完成。
2 将完整备份文件和增量文件从数据库复制到S3存储桶,然后从这些文件还原aurora mysql数据库集群
参考文档:https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3
2.1 准备工作
2.1.1 在本地服务器上安装percona
本地数据库版本是mysql5.7,建议percona版本为Percona XtraBackup 2.4
执行以下命令:
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install -y percona-xtrabackup-24.x86_64
从上图可见Percona-xtrabackup安装成功。
2.1.2 准许aurora mysql访问S3存储桶
在跟aurora mysql数据库相同的区域中创建一个存储桶
过程比较简单,省略。
创建IAM策略以访问S3资源
可以通过IAM控制台来创建相应的策略,具体过程省略,可以授予aurora 访问S3的所有权限。
创建IAM角色以允许aurora mysql访问AWS服务
具体创建角色的过程省略,可以参考文档: https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.CreateRole.html
如下图所示,创建了一个角色role_aurora_to_s3,并将上一步的策略附加到了该角色上。
将角色与aurora mysql数据库关联
具体操作过程见文档 https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.html
如上图所示,已经将角色与aurora mysql数据库相关联。为了让角色生效还需要修改参数组,我们选择新建一个参数组
其中参数“aurora_load_from_s3_role”的值更新为前面所创建角色的ARN。
再修改数据库实例的数据库选项
应用修改,立即重启数据库。
2.2 备份要还原为aurora mysql的数据库的文件
2.2.1 准备工作
为了跟之前的数据库内容区别开来,特意新建了库schema_test,并在其中新建了一张表table_test,如下图所示:
2.2.2 使用percona xtrabackup创建备份
全量备份
xtrabackup --user=root --password=XY-zte110 --backup --target-dir=/root/backupfiles
可见在当前目录下生成了一个backupfiles目录,该类目下的内容如上图所示。
通过aws CLI将备份文件夹整个上传到s3存储桶(具体上传的过程省略),登录s3控制台可见
2.3 从S3存储桶还原aurora mysql数据库
登录aurora控制台,进入数据库页面
在数据库页面点击“从S3还原”, 引擎选项->aurora 版本->我们选择的是mysql5.7
点击“下一步”
下一步,进入数据库详细信息页面进行设置,具体内容与新建aurora实例的过程相似
下一步,配置高级设置
从这个配置的过程来看,跟创建一个新的aurora实例完全相同,由此可以断定aurora从s3还原实际上是重新起了一个aurora实例。最后点击“创建数据库”
确实是新生成一个数据库实例,耐心等待吧。
切换到数据库页面,可以看到有两个aurora实例
上图中的实例aurora-instance-xuyi-copy就是从s3还原出来的新的aurora实例,已经成功创建。现在远程到该实例查看数据库状况
可见全量复制成功。 至此通过S3还原aurora数据库完成。
到此,相信大家对“数据库迁移到aurora mysql的方式介绍”有了更深的了解,不妨来实际操作一番吧!这里是天达云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!