网易蜂巢的Docker容器中数据库的创建和迁移教程

所属分类: 网站运营 / 建站经验 阅读数: 138
收藏 0 赞 0 分享

创建数据库实例
RDS 服务管理入口位于蜂巢首页的数据库服务选项。点击「数据库」,即可显示你的所有 RDS 实例列表,包括普通实例和只读实例。你可以在该界面进行实例创建、安全组管理等操作,此外还可以对具体实例进行设置、创建只读实例或提升只读实例角色(即提升只读实例为普通实例)等操作。
2016523100544282.png (730×209)

点击「实例名称」,即可进入实例详情界面,如下图所示:
2016523100619523.png (730×318)

创建实例
在数据库主界面,点击「创建实例」创建一个新的 RDS 实例。创建实例的界面如下图所示。首先填写实例名称、选择数据库引擎、实例规格和设置网络类型,然后点击「确认」按钮,开始创建实例。
2016523100638418.png (700×759)

实例创建时,蜂巢对实例的复制类型、备份类型、数据库参数和安全组等采用了默认参数和配置,你可以在「设置实例」中修改这些配置。
创建只读实例
数据库主界面显示了各个实例的概要信息。如果实例是一个高可用实例,则在实例的「操作」列会显示「创建只读」链接。点击「创建只读」,即可为实例创建一个只读实例,如下图所示:
2016523100704936.png (730×161)

只读实例的创建界面中,数据库引擎和源实例一致,不可更改,其余内容与创建实例相同,如下图所示:
2016523100720312.png (730×630)

提升只读实例角色
在数据库的主界面,点击实例名称右侧的箭头(如果存在),可以查看该实例的只读实例。对于只读实例,「操作」列提供了「提升角色」的功能,如下图所示。点击「提升角色」并确认,能够解除只读实例与源实例的关系,将只读实例变成一个普通的非高可用实例。
2016523100800303.png (730×200)

设置(修改)实例
某一指定实例的设置页面有两处入口:
1.在数据库的主界面,点击该实例在「操作」列的「设置」链接,如下图所示:
2016523100820016.png (730×175)

2.在数据库的主界面,点击该实例的名称,进入该实例的「实例详情」页面,再点击「设置」按钮,如下图所示:
2016523100843556.png (730×212)

设置实例页面提供了复制类型、备份类型、数据库参数和安全组等各项配置的修改操作,并可选择将修改设定为「立即生效」或「定时生效」。如果你选择定时生效,还需要选择「生效时间」。设置完成以后,点击「确认」即可。
2016523100902122.png (730×199)

各项配置的详细说明如下:
(1)复制类型
蜂巢提供同步和异步两种复制类型,推荐使用同步复制:如下图所示:
2016523100918972.png (940×67)

(2)备份类型
你可以选择「增量备份」或「全量备份」。在选择了备份类型后,还可以对「备份周期」、「备份时间」等进行设置,如下图所示:
2016523100934888.png (600×143)

(3)参数组
在参数组设置中,你可以修改数据库的配置。页面中只显示用户最常修改的参数,要查看和修改更多的参数,点击「更多设置」即可。
2016523101313261.png (730×295)

(4)安全组
点击「修改安全组」可以为实例配置安全组,从而限制能够访问实例的主机,如下图所示:
2016523101050269.png (940×155)

在「设置实例」中,你只能新建或绑定已存在的安全组。

2016523101106066.png (730×251)

迁移外部数据库
蜂巢的外部数据库迁移功能支持多线程数据库备份和恢复,也支持基于业务负载的自适应迁移和迁移失败的重试。此外,蜂巢提供了较为全面的迁移参数检查,提高了迁移数据的成功率。目前,蜂巢提供外部 MySQL 实例的迁移功能。本文将以有公网 IP 的外部 MySQL 数据库实例迁移至蜂巢 RDS 为例。
前提条件
开始迁移前,务必检查以下内容:
1.请确保外部数据库实例拥有 test 数据库,没有则新建空白 test 数据库即可;
2.若使用 增量迁移,请确认外部数据库实例已开启 binlog 并设置 server_id(目前 server_id 不能设置为 0 或 1);
3.若需要 迁移权限,确认外部数据库实例与 RDS 实例权限没有冲突或者覆盖。
迁移限制:
目前在迁移 5.1.41 以下的 MySQL 版本时会出现失败场景,若遇到,请提蜂巢工单解决。
目前正在适配外部实例版本为 MySQL 5.7 的场景,RDS 的 MySQL 5.7 版本也即将推出。请等待完成适配后再迁移 MySQL 5.7 版本到 RDS ;
不支持迁移名称中包含「;」符号的数据库;
不支持迁移 MySQL 系统库,如 information_schema、performance_schema、#bak_database 或 data_dictionary、mysql 中的 general_log 和 slow_log 表等。
其他说明:
在导出外部实例数据阶段,会临时修改外部实例 MySQL InnoDB 参数 innodb_old_blocks_time,完成数据导出或导出失败时,RDS 会自动将其设置回原值;
在将数据导入 RDS 实例阶段,RDS 实例的 sync-binlog、innodb_flush_log_at_trx_commit、log_slow_queries 参数均会进行临时优化,完成数据导入或导入失败时,会自动将其设置回原值。
创建迁移账号
建议新建一个拥有相应权限的账号进行数据迁移。 登录 MySQL 客户端,使用如下命令创建账号并赋予权限:

复制代码
代码如下:

GRANT all privileges ON [数据库名].[表名] TO '[期望创建的用户名]'@'[用户地址]' IDENTIFIED BY '[期望设置的密码]';

2016523101340083.png (801×369)

方便起见,本例中直接赋予数据库所有表的全部权限:「GRANT all privileges ON *.*」;
[用户地址] 可以是 IP 地址、计算机名、域名,如果想从任意地址连接,使用「%」即可;
重要:该帐号拥有所有权限,出于安全考虑,数据迁移完成后,请删除该账号或直接删除本地数据库。
获取数据库列表
登录蜂巢控制台,选择「数据库」,点击「迁移外部数据库」按钮:
2016523101450585.png (1595×431)

进入「获取数据库列表」步骤,需要输入待迁移的外部数据库 IP 地址、端口、数据库账号以及密码等信息,如下图所示,输入完毕后,点击「下一步」:
2016523101508297.png (1118×580)

如果连接失败,请检查以下内容:
1.迁移账号权限;
2.账号、密码、IP 地址、端口;
3.MySQL 数据库版本须高于 5.1.41;
4.外部数据库实例拥有 test 数据库,没有则新建空白 test 数据库即可。
选择待迁移的数据库
连接外部数据库成功后,开始「选择待迁移的数据库」,这里显示了该数据库实例内的所有数据库,如下图所示。蜂巢支持一次性迁移同一实例下多个数据库,选择所需迁移的数据库名称,点击「下一步」:
2016523101524989.png (1116×394)

不支持迁移名称中包含「;」符号的数据库;
不支持迁移 MySQL 系统库,如 mysql 中的 general_log 和 slow_log 表、information_schema、performance_schema、#bak_database 或 data_dictionary 等。
参数设置
选择完数据库之后,进入「参数设置」步骤,如下图所示。具体的参数详情,请参见 参数说明,在确认参数无误后,点击「下一步」发起迁移操作。
2016523101608575.png (1124×727)

注意:点击「下一步」后,默认会进行参数预检查,包括实例连通性、各个参数设置是否正确等,如果发现错误,蜂巢会显示出错信息,你可以进行相应修改后重新点击「下一步」。
参数说明
1.迁移类型
(1)增量迁移
增量迁移包括全量迁移和增量复制两个阶段。完成全量迁移后,会将迁移过程发生的数据变更同步到目标实例,如果迁移期间进行了 DDL 操作,那么这些结构变更不会迁移到目标实例。
(2)全量迁移
将源实例迁移对象的结果定义及数据全部迁移到目标实例。迁移过程中,为了保证数据一致性,非事务表会被锁定,锁定期间这些表无法写入,锁定时长依赖于这些表的数据量大小,在这些非事务表迁移完成后,锁才会释放。
(3)结构迁移
将源实例迁移对象(数据库、表)的结构定义(schema)迁移到目标实例。支持结构迁移的对象包括:表、视图、触发器、存储过程、存储函数等。
(4)权限迁移
表示是否迁移源实例 mysql.user 表中的用户账号及权限到目标实例。RDS 默认会取消所迁移权限中的 Super 权限。
2.导出并发度
表示启用多少个线程来同时导出表中的数据。请合理选择数据导出线程数,系统默认为 2 个,建议刚开始使用暂先不超过 3 个。
3.导入并发度
表示启用多少个线程来同时导入表中的数据。RDS 的数据导入线程需要根据 RDS 本身的存储介质性能进行合理规划。系统默认为 2 个,蜂巢的经验表明:2至4个线程一般来说已能够达到最大数据写入性能。
4.持锁超时时间
表示进行数据导出时,允许对源实例加读锁(通过执行 flush tables with read lock 获取读锁)的时长,单位为 s。注意,该值的设置会极大影响迁移,设小会导致迁移出错,设大的话需要关注是否对外部实例业务产生影响。
5.负载监控阈值
表示从源实例导出数据时,允许导出线程 select 数据的最大负载,通过 threads_running 数值来衡量,如果该参数超过阈值则数据导出暂停,降到阈值以下时再继续。系统默认的监控项为 300,如果外部实例压力较大,连接数较多,请合理选择监控项,并适当增加监控项。
6.创建新实例
系统预检查无误后,显示如下「创建新实例」页面,即可进行数据迁移,此时只需填写新实例名称,选择合适的内存及存储空间后,点击「开始迁移」即可,数据库列表会自动生成迁移的数据库实例。
注意:需要确保迁移中创建的 RDS 实例有足够的空间用于迁移外部实例数据,可以通过设置存存储空间来进行调整。
2016523101638519.png (1057×914)

如果迁移失败,可以通过数据库实例列表中的「查看进度」查看原因。并根据系统出错提示,参照 参数说明 适当调整参数,最后点击「重试」即可。
如果不确定如何调整参数,建议提工单联系技术人员协助处理。

更多精彩内容其他人还在看

医疗行业怎么做好网站建设?建站注意事项及经验

踏足互联网,医疗行业可以将自身优势资源整合到网站中去,为大家提供病理知识、在线咨询或者预约就诊服务等。那么如何做好医疗行业的网站建设呢?本期为大家分享一些在建站过程中需要注意的东西和建站经验,希望能给大家带来帮助
收藏 0 赞 0 分享

企业应该怎么策划自己的网站?规划网站注意事项总结

网站建设虽然是一个比较复杂的过程,包括网站策划、网页设计、程序开发、上传网页、发布网站等,那么企业应该怎么策划自己的网站?下面为大家介绍规划网站注意事项,来看看吧
收藏 0 赞 0 分享

大众点评网站的支付系统构建经验分享

大众点评网站的服务器端在迭代的同时保持了很好的扩展性和可用性,这里我们来看一下大众点评网站的支付系统构建经验分享,主要以大众点评的支付渠道网关系统为核心.
收藏 0 赞 0 分享

网易蜂巢的容器运维管理服务使用指南

网易蜂巢提供对Docker容器的警报和性能监控服务,通过图形化面板操作十分简洁,这里前提假设服务器端已经架设在容器中,那么接下来就让我们来看网易蜂巢的容器运维管理服务使用指南
收藏 0 赞 0 分享

为什么认为自助建站不适合SEO?自助建站工具搭建出来的网站对SEO的支持如何?

最近有一个做SEO优化朋友询问为什么自助建站做出来的网站排名很难做上去?自助建站工具搭建出来的网站真的适合SEO吗?本文将提供相关内容供大家了解,希望对大家有所帮助和启发
收藏 0 赞 0 分享

支持支付宝的高性价比美国VPS主机Pzea的购买及使用评测

Pzea一直是低价位VPS的人气之选,在美国三个大城市分别建有机房,且构建于KVM虚拟机之上,性能较为出众,接下来就为大家来分享一下这个支持支付宝的高性价比美国VPS主机Pzea的购买及使用评测
收藏 0 赞 0 分享

网站页面一定需要HTML静态化吗 实战说明静态化的必要性

很多刚开始运营网站的伙伴们都要知道网站内的页面需要进行URL优化吗?如设置静态化等,对此,本文就为大家解析一下网站静态化的必要性,有兴趣的朋友们可以了解下哦
收藏 0 赞 0 分享

移动端界面设计之尺寸基础知识学习

这篇文章主要为大家详细介绍了移动端界面设计之尺寸基础知识,通俗易懂的学习教程帮助大家了解关于移动端设计尺寸的相关知识,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

如何提高用户体验?优秀的用户体验需要遵守的十大准则

自己的网站做的很漂亮却依然没有排名,这是为什么呢?这个时候,你应该考虑你是否关注到用户体验?而如何提高用户体验又是你要考虑的问题了,本文将提供优秀的用户体验需要遵守的十大准则供大家了解,希望对大家有所帮助和启发
收藏 0 赞 0 分享

DoubleClick Ad Exchange Seller(adx) 为您的广告代码生成异步代码的方法

这篇文章主要介绍了DoubleClick Ad Exchange Seller(adx) 为您的广告代码生成异步代码的方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多