DAS 最佳实践(华为云)
DAS 最佳实践(华为云)
文档版本 01
发布日期 2021-07-21
版权所有 © 华为技术有限公司 2021。 保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。
商标声明
和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声 明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
华为技术有限公司
地址: 深圳市龙岗区坂田华为总部办公楼 邮编:518129
网址: https://www.huawei.com
客户服务邮箱:[email protected] 客户服务电话:4008302118
目 录
1 全量 SQL 洞察...1
1.1 如何通过 SQL 模板检查并进行表优化... 1
2 表结构对比与同步... 5
2.1 如何快速修改多个分表的结构...5
3 数据追踪与回滚... 7
3.1 如何找回误删除的数据信息... 7
4 安全管控高危操作... 12
DAS 最佳实践(华为云) 目 录
1 全量 SQL 洞察
功能介绍
全量SQL洞察,又称为全量SQL审计,不仅支持全量SQL记录的查询的能力,还提供了 访问最频繁、更新最频繁的表,锁等待时间最长的SQL等多维度的分析、搜索、过滤 能力,帮助用户全面洞察SQL,快速找出异常,保障数据库的稳定运行。
使用场景
● SQL查询,性能优化。
● SQL诊断,问题回溯。
常见问题
1. 该功能所有RDS实例都可以使用吗?
是的。目前只支持5.7.29.2以上的5.7版本的MySQL实例。
2. 该功能会影响实例的磁盘空间吗?
不会。该操作不占用户资源,可以放心使用。
3. 该功能支持ECS自建库吗?
不支持。目前该功能,社区版的ECS自建库没有这个能力。
4. 对实例性能有影响吗?
对实例性能影响极小,性能损耗在5%以内。
1.1 如何通过 SQL 模板检查并进行表优化
问题举例
用户在导出的日志记录中发现某一时间段select语句查询test表信息的耗时超过2s,锁 等待时间长。
建议措施
● 增加索引。
● 优化表。
DAS 最佳实践(华为云) 1 全量 SQL 洞察
操作步骤
步骤1 登录华为云console,输入华为云的帐户和密码登录数据管理服务(DAS)。
步骤2 在数据管理控制台选择DBA智能运维页签,进入监控实例总览页面。
步骤3 在实例总览页面选择所需诊断的实例名称,单击“详情。”
图1-1 DBA 智能运维实例总览页面
步骤4 在所选实例的DBA智能运维总览页面选择“SQL”>“全量SQL洞察”。
步骤5 在“全量SQL洞察”下选择“SQL模板”。
图1-2 SQL 模板
步骤6 在“SQL模板”页签下单击“详情”查看select的SQL模板信息。
步骤7 在SQL详情页查看下方的“SQL列表”,找出在此时间段内select模板执行耗时大于2s 的数据库dblog_test。
DAS 最佳实践(华为云) 1 全量 SQL 洞察
图1-3 SQL 列表
步骤8 登录当前实例,选择数据管理控制台的“库管理”页签。并选择8中的数据库名称。单 击“查看表详情”。检查表格中索引数量、数据容量等信息。
图1-4 查看表详情
步骤9 (举例)确认是索引问题后,单击“修改表”,增加索引。返回表管理页签,单击 SQL查询进行重试即可。
DAS 最佳实践(华为云) 1 全量 SQL 洞察
图1-5 SQL 查询
----结束
DAS 最佳实践(华为云) 1 全量 SQL 洞察
2 表结构对比与同步
2.1 如何快速修改多个分表的结构
问题举例
客户在使用DAS服务较长时间后,主表数据增长势必会影响性能,于是将主表散列到 100张表中,减轻数据库的查询压力。但当主表的结构发生变化时其他分表该怎么办?
建议措施
运用表结构同步特性快速解决问题。
操作步骤
步骤1 登录华为云console,输入华为云的帐户和密码登录数据管理服务。
步骤2 在产品概览页面选择所需region并选择“面向个体开发”,进入数据管理服务开发工 具页面。
步骤3 单击需要登录的数据库实例名称,进入数据库管理页面。
步骤4 在数据库管理页面单击上方菜单的“结构方案” > “表结构对比与同步”。进入表结 构对比与同步页面。
步骤5 单击页面左上角的“新建表结构对比与同步任务”,进入任务编辑界面。
步骤6 在任务编辑页面选择“基准库”、“目标库”,并在同步类型中选择“一对多同 步”。选中需要同步的所有分表。单击“>>”符号进入下一步,若您需要修改基准 表,可以单击“移除”,重新选择基准表。
DAS 最佳实践(华为云) 2 表结构对比与同步
图2-1 创建表结构变更任务
步骤7 确认无误后,单击“下一步”即可创建任务。
步骤8 任务提交成功后,单击“提交对比”,系统自动对比表结构。
步骤9 对比结束后,单击“对比项列表”的SQL语句,复制SQL语句到剪贴板或单击“下载 DDL”。
图2-2 下载 DDL
步骤10 按照SQL语句内容重新执行SQL即可一键转换表结构信息。
----结束
DAS 最佳实践(华为云) 2 表结构对比与同步
3 数据追踪与回滚
3.1 如何找回误删除的数据信息
问题举例
数据库DBA更新配置时未添加where过滤条件,误删除配置数据,程序bug生成大量脏 数据。
建议措施
运用数据追踪与回滚可以快速解决问题。
操作步骤
步骤1 登录华为云console,输入华为云的帐户和密码登录数据管理服务。
步骤2 在产品概览页面选择所需region并选择“面向个体开发”,进入数据管理服务开发工 具页面。
步骤3 单击需要登录的数据库实例名称,进入数据库管理页面。
步骤4 在数据库管理页面单击上方菜单的“数据方案” > “数据追踪与回滚”。进入数据追 踪与回滚页面。
图3-1 数据管理服务
步骤5 单击页面左上角的“新建追踪任务”,进入任务编辑界面。
步骤6 在任务编辑页面输入“任务名”,“时间范围”,选择“数据库名”,“追踪类型”
等信息,确认无误后,单击“预检查”。
DAS 最佳实践(华为云) 3 数据追踪与回滚
图3-2 新建追踪任务
说明
时间范围最大为3个小时。
步骤7 预检查结束后,在查看详情页面单击“读取日志”。等待1分钟左右,日志读取成功。
DAS 最佳实践(华为云) 3 数据追踪与回滚
图3-3 读取日志
步骤8 在该页面单击“搜索日志”。进入搜索日志列表页。在列表页可以看到所选时间范围 内,自动以SQL类型的所有操作。
DAS 最佳实践(华为云) 3 数据追踪与回滚
图3-4 搜索日志
步骤9 单击列表操作栏的“查看数据”和“查看回滚语句”。找出未添加where条件的SQL语 句。
图3-5 查找问题 SQL
步骤10 单击搜索日志列表左侧的“新建回滚任务”,在任务编辑页面选择“开始事件ID”和
“结束事件ID”,选中“生成基于事件的回滚SQL”和“获取数据变更前的原始数
DAS 最佳实践(华为云) 3 数据追踪与回滚
图3-6 新建回滚任务
步骤11 任务完成后,单击回滚任务列表操作栏的“下载”,将下载后的回滚文件在SQL窗口 执行即可回滚到原始数据。
图3-7 下载回滚文件
----结束
DAS 最佳实践(华为云) 3 数据追踪与回滚
4 安全管控高危操作
适用场景
DAS企业流程审批提供了设置高危操作审批流程的功能来帮助您保证数据安全。本章 以对删库操作设置审批流程为例,指导您如何通过开通并使用DAS企业流程审批,设 置高危操作审批流程,安全管控数据库高危操作,确保数据安全。
前提条件
● 准备需要开通删库审批流程的RDS实例。如果没有RDS实例,请创建实例。
● 数据库类型为MySQL、GaussDB(for MySQL)、DDM等。
设置审批流程
通过设定审批流程,安全管理删库等高危操作。
步骤1 开通企业流程审批。
1. 单击 ,选择“数据管理服务 DAS”。
2. 在左侧导航栏选择“企业流程审批”。单击“开通企业”。
3. 在开通企业设置页面,按照以下内容选择。
计算模式选择“按需计费”,实例数建议选“2”。
图4-1 开通企业
DAS 最佳实践(华为云) 4 安全管控高危操作
4. 单击“购买”,再次确认无误后,单击“提交”。
步骤2 配置企业流程审批。
1. 单击新开通的企业。进入“系统管理 > 用户管理”页面。
编辑管理员帐号,增加DBA角色后,单击“保存”。
说明
为了更好的管理数据库的高危操作,建议DBA和Admin设为不同的人员。
2. 进入“系统管理 > 审批流程管理”页面。
3. 自定义审批流程。
系统已默认设定两条“Owner->DBA”和“Owner->DBA->Admin”审批流程。
您可以单击“新增审批流程”,填写“审批流程名称”、“审批人”等信息,单 击“提交”创建新的审批流程。
图4-2 新增审批流程
步骤3 录入实例。
1. 进入“系统管理 > 实例管理”页面,单击“录入实例”。
2. 选择“资源所在区域”,添加待设置审批流程的实例。
图4-3 录入实例
3. 配置“实例属性”,录入实例DBA和业务Owner(当前用户)。
DAS 最佳实践(华为云) 4 安全管控高危操作
图4-4 实例属性
说明
为了更好的管理数据库的高危操作,建议DBA和Admin设为不同的人员。
4. 配置“安全控制项”。
如果“是否允许在SQL窗口中执行DML”打开,用户在拥有库的数据变更权限 后,就可以直接在SQL窗口中使用。DDL开关与DML效果相同。
图4-5 安全控制项
5. 配置“审批流程管理”,为特定操作类型设置审批流程。
图4-6 流程审批管理
DAS 最佳实践(华为云) 4 安全管控高危操作
验证审批流程
步骤1 创建数据库。
1. 进入“系统管理 > 实例管理”页面,选择一个实例,单击“实例设置”,进入实 例设置页。
2. 单击“数据库列表”页签。
3. 单击“新建数据库”,填写库基本信息、数据库属性、安全控制项、流程审批管 理属性。
图4-7 新建数据库
4. 信息确认无误后,单击“确定”。
步骤2 申请库权限。
1. 进入“工单列表”,单击“新建工单”,选择“申请库权限”。
DAS 最佳实践(华为云) 4 安全管控高危操作
图4-8 申请库权限
2. 选择数据库、权限类型(查询、数据变更、结构变更)、期限,填写申请原因 后,单击“提交”。
3. 提交后,页面自动跳转到工单详情页面,可以直接查看工单信息及审批进度。审 批流会自动按照步骤3.5设定的的流程进行审批。
步骤3 生成数据。
1. 单击菜单栏“SQL窗口”或者“库管理”,选择目标库,进入“库管理”页面。
2. 单击SQL窗口页签,在SQL窗口中输入SQL语句。
3. 单击“执行SQL”,生成数据。
图4-9 输入 SQL 语句
DAS 最佳实践(华为云) 4 安全管控高危操作
库已经删除的恢复方法
如果已经设置了审批流程,但是数据库仍然被删除,则可以通过RDS提供的恢复功能 进行数据恢复。
步骤1 恢复数据库。
1. 选择切换到RDS服务控制台。按照以下顺序进行恢复。
RDS实例 > 备份恢复 > 全量备份 > 恢复到指定时间点。
2. 单击恢复到已有实例,选择创建的另一个MySQL实例。
图4-10 恢复数据库
– 恢复到的时间点必须在创建库之后,删除库之前,才能成功恢复数据。
– 删库审批流程通过的时间点即是删除库的时间点。
3. 等待恢复完成。
步骤2 恢复完成后,参考步骤3录入实例。
步骤3 查看已恢复数据库。
进入DAS企业流程审批,使用库管理查看目标实例是否恢复了刚刚删除的库。
----结束
DAS 最佳实践(华为云) 4 安全管控高危操作