华为云用户手册

  • 为主机配置安装Agent插件 E CS 会上报基础监控指标和操作系统监控指标,其中基础监控指标是ECS云服务本身上报的指标,但是这类指标的采集周期大部分是5分钟周期,另一种则是操作系统安装了 CES Agent插件上报的监控指标,即操作系统监控指标,这类指标由CES上报,在采集精度上更精准,粒度也更精细,为1分钟采集周期,监控场景的覆盖也更全面,因此一般建议用户购买ECS资源后安装Agent插件。 如何安装Agent插件? 首先需要从操作系统上区分一下,目前有Windows和Linux两种操作系统,安装Agent的方式有所区别: Windows类型机器安装Agent 只能使用手动安装,目前在CES的主机监控列表页面有用户安装指南,可进行参考。 直接单击单台资源“未安装”即可弹出操作指导,根据操作指南登录机器后使用安装命令进行插件安装即可。 图1 安装插件指引 官网文档也可参考安装Agent(Windows)。 Linux类型机器安装Agent Linux类型的机器目前安装Agent支持单台安装和批量安装。 目前部分机器支持在CES页面直接一键安装,或者在购买ECS的页面直接支持开启监控安装Agent。 支持一键安装的机器可直接在页面单击安装按钮进行安装。 图2 一键安装 部分机器还可支持在购买时直接开启监控,默认安装Agent。 图3 开启详细监控 Linux不支持一键安装的机器,可以进行手动安装,手动安装包括单台安装和批量安装两种方式。单台安装直接单击安装图标后可弹出安装指引。 图4 安装插件指引 除了单台安装,Linux机器还支持批量安装Agent插件,具体请参考批量安装Agent。 除上述方法以外,CES还支持批量在界面实现对已支持一键安装的机器进行批量安装,无需登录机器或者单台安装,更高效、便携,推荐用户使用该种方式进行安装。 图5 安装&升级插件 安装完成Agent,可以在主机监控列表页进行查看,“插件状态”列显示“运行中”状态的即为插件安装成功。 图6 插件状态
  • 更新数据示例 本章节对更新数据AK/SK方式使用SDK进行示例说明。 更新数据示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用初始化UpdateParam中的CustomNumTags、CustomTags、Desc、ItemId配置服务输入参数,配置完成后运行即可。 更新数据调用示例代码如下: package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" imagesearch "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/imagesearch/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/imagesearch/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/region" ) func main() { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") iamEndpoint := "https://iam.cn-north-4.myhuaweicloud.com" endpoint := "https://mms.cn-north-4.myhuaweicloud.com" projectId := "project_id" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithIamEndpointOverride(iamEndpoint). WithProjectId(projectId). Build() // 初始化客户端 client := imagesearch.NewImageSearchClient( imagesearch.ImageSearchClientBuilder(). // 设置region, 示例中为北京四 WithRegion(region.NewRegion("cn-north-4", endpoint)). WithCredential(auth). Build()) request := &model.RunUpdateDataRequest{} request.ServiceName = "service_name" var listCustomNumTagsbody = map[string]float64{ "key": float64(1), } var listCustomTagsbody = map[string]string{ "key": "value", } descUpdateParam:= "description" request.Body = &model.UpdateParam{ CustomNumTags: listCustomNumTagsbody, CustomTags: listCustomTagsbody, Desc: &descUpdateParam, ItemId: "item_id", } response, err := client.RunUpdateData(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } 执行示例代码文件,控制台输出更新数据结果即表示程序执行成功。 RunUpdateDataResponse { "result": "success" } 父主题: 使用SDK(GO)
  • 弹性公网IP、私有IP和虚拟IP之间有何区别? 云上不同IP地址实现的功能不同,图1展示了IP地址架构图,关于IP的详细介绍请参见表1。 图1 IP地址架构图 表1 不同IP地址功能说明 IP地址分类 IP地址说明 示例 私有IP 您在VPC子网内创建弹性云服务器时,系统会基于子网内的可用IP地址,给弹性云服务器分配私有IP地址,私有IP地址主要用于云内网络通信,不能访问Internet。 ECS-A-01的私有IP地址为172.16.0.84 ECS-B-01的私有IP地址为172.16.1.12 虚拟IP 虚拟IP(Virtual IP Address)是从VPC子网网段中划分的一个内网IP地址,是一种可以独立申请和删除的内网IP地址,适用于以下场景: 将一个或者多个虚拟IP同时绑定至一个云服务器,可以通过任意一个IP地址(私有IP/虚拟IP)访问云服务器。通常当单个云服务器内同时部署了多种业务,此时可以通过不同的虚拟IP访问各个业务。 将一个虚拟IP同时绑定至多个云服务器,虚拟IP需要搭配高可用软件(比如Keepalived),用来搭建高可用的主备集群。为了提升服务的高可用性,避免单点故障,您可以用“一主一备”或“一主多备”的方法组合使用云服务器,这些云服务器对外呈现为一个虚拟IP。当主云服务器故障时,备云服务器可以转为主云服务器并继续对外提供服务,以此达到高可用性HA(High Availability)的目的。 虚拟IP的更多介绍请参见虚拟IP简介,高可用集群搭建方法请参见使用虚拟IP和Keepalived搭建高可用Web集群。 虚拟IP(172.16.0.2)同时绑定至ECS-A-01和ECS-A-02,结合keepalived可实现ECS-A-01和ECS-A-02的主备倒换。 弹性公网IP 弹性公网IP是云上资源访问Internet使用的IP地址,可以和实例灵活绑定或者解绑。 在虚拟IP场景,您可以将弹性公网IP绑定至虚拟IP,实现虚拟IP后端的弹性云服务器访问Internet。 您可以将弹性公网IP直接绑定至弹性云服务器上,实现弹性云服务器访问Internet。 弹性公网IP的更多介绍请参见弹性公网IP简介。 将EIP(122.9.9.85)绑定至虚拟IP(172.16.0.2),实现ECS-A-01和ECS-A-02访问Internet。 将EIP(122.9.9.87)绑定至ECS-B-01,实现ECS-B-01访问Internet。 父主题: 弹性公网IP类
  • VPC服务配额限制 配额是在某一区域下最多可同时拥有的某种资源的数量。 例如:华东-上海二区域下,VPC默认配额为5个,若在该区域下已创建2个VPC,则在该区域的剩余配额为3个。 华为云为防止资源滥用,对云服务每个区域的用户资源数量和容量做了配额限制。 如需查看每个配额项目支持的默认配额,请参考怎样查看我的配额?,登录控制台查询您的配额详情。如需扩大资源配额,请在华为云管理控制台申请扩大配额。 表1介绍VPC场景的默认配额限制。配额数据分区域呈现,默认每个区域的配额数据相同。 表1 VPC配额说明 配置名称 默认配额限制 是否支持调整 一个用户在单个区域可创建的虚拟私有云数量 不同用户根据其账户类型和服务等级享有不同的默认资源配额。请在配额限制查看您的个人配额详情。 是 提交工单申请提升配额 一个用户在单个区域可创建的子网数量 不同用户根据其账户类型和服务等级享有不同的默认资源配额。请在配额限制查看您的个人配额详情。 是 提交工单申请提升配额 一个用户在单个区域内,单个VPC可关联的路由表数量 不同用户根据其账户类型和服务等级享有不同的默认资源配额。请在配额限制查看您的个人配额详情。 是 提交工单申请提升配额 一个用户在单个区域内,单个路由表可添加的路由数量 不同用户根据其账户类型和服务等级享有不同的默认资源配额。请在配额限制查看您的个人配额详情。 不支持修改 一个用户在单个区域可创建的安全组数量 不同用户根据其账户类型和服务等级享有不同的默认资源配额。请在配额限制查看您的个人配额详情。 是 提交工单申请提升配额 一个用户在单个区域可添加的安全组规则数量 不同用户根据其账户类型和服务等级享有不同的默认资源配额。请在配额限制查看您的个人配额详情。 是 提交工单申请提升配额 一个用户在单个区域可创建的网络ACL数量 不同用户根据其账户类型和服务等级享有不同的默认资源配额。请在配额限制查看您的个人配额详情。 是 提交工单申请提升配额 一个用户在单个区域可创建的IP地址组数量 不同用户根据其账户类型和服务等级享有不同的默认资源配额。请在配额限制查看您的个人配额详情。 是 提交工单申请提升配额 一个用户在单个区域可创建的对等连接数量 不同用户根据其账户类型和服务等级享有不同的默认资源配额。请在配额限制查看您的个人配额详情。 不支持修改 一个用户在单个区域可创建的VPC流日志数量 不同用户根据其账户类型和服务等级享有不同的默认资源配额。请在配额限制查看您的个人配额详情。 不支持修改 一个用户在单个区域可创建的镜像会话数量 不同用户根据其账户类型和服务等级享有不同的默认资源配额。请在配额限制查看您的个人配额详情。 不支持修改
  • 使用Tomcat应用部署模板创建并部署应用 在主机上将war包部署到Tomcat服务,并启动该服务。 请确认目标主机已安装Tomcat,若已安装请移除模板中“安装Tomcat”步骤。 该模板涉及的部署步骤如下所示: 安装JDK 安装Tomcat 停止Tomcat服务 选择部署来源 启动Tomcat服务 URL健康测试 该模板提供的参数设置说明如表1所示。 表1 模板参数说明 参数 说明 host_group 该应用部署的目标环境。 package_url 软件包下载地址,可前往制品仓库-软件发布库获取下载链接。 service_port Tomcat应用端口,默认值为8080。 tomcat_home_path Tomcat客户端所在路径,默认值为“/usr/local/tomcat/apache-tomcat-8.5.38”。 父主题: 使用预置模板新建并部署应用
  • 执行其他命令 搜索并添加“执行Docker命令”部署步骤。 选择命令(push、pull、start、stop、restart、rm、rmi),并输入对应命令的执行参数。 命令执行参数示例: push:docker.test-registry.com/branch/Ubuntu:v1 pull:docker.test-registry.com/branch/Ubuntu:v1 rm: -f db01 db02 rmi: -f docker.test-registry.com/branch/Ubuntu:v1 start/stop/restart:容器ID或名称。 若在部署过程中遇到问题,可参考该步骤的常见问题解决办法。
  • 执行build命令 准备工作 制作Docker镜像需上传制作好的“Dockerfile”文件,通过“选择部署来源”步骤放置在部署目标主机中。 Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。它们简化了从头到尾的流程并极大的简化了部署工作。Dockerfile从FROM命令开始,紧接着跟随着各种方法,命令和参数。 Dockerfile制作请参考Docker官网。 配置方法 搜索并添加“执行Docker命令”部署步骤。 选择“build”命令,输入部署目标主机中放置Dockerfile文件的路径,以及“docker build”命令的执行参数。
  • 步骤详情 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤显示的名称。 仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。 是否使用 IAM 提权 如果当前用户无操作权限执行接口时,可通过IAM提权获取到其他用户的临时AK/SK去执行CCE接口。 选择源类型 可以选择部署到CCE应用或者CCI应用。 集群名称 选择CCE云容器引擎中申请的K8S集群。 命名空间名称 选择CCE云容器引擎或CCI中K8S集群的命名空间。 负载名称 选择需要部署的无状态工作负载,或创建新的工作负载。 实例数量 更新后的工作负载的实例数量。 镜像名称 选择需要部署的镜像。 镜像版本 选择需要部署的镜像版本。 镜像更新策略 镜像的更新策略,可以选择“始终更新”或“版本变化时更新”。 当选择“始终更新”时,默认在环境变量中新增递增的时间戳,保证镜像始终被重新拉取。 升级方式 可以选择“替换升级”和“滚动升级”。 容器规格 可配置目标工作负载中的目标容器的容器规格。 CPU申请配额:容器使用的最小CPU需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配CPU总量≥容器CPU申请数时,才允许将容器调度到该节点。 CPU限制配额:容器能使用的CPU最大值。如果CPU使用值大于限制值,则容器使用CPU资源可能会被限流。 内存申请配额:容器使用的最小内存需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配内存总量≥容器内存申请数时,才允许将容器调度到该节点。 内存限制配额:容器能使用的内存最大值。当内存使用率超出设置的内存限制值时,该实例可能会被重启进而影响工作负载的正常使用。 高级设置 可配置目标工作负载的访问配置、环境变量、数据存储、生命周期、容器日志、健康检查、性能管理配置等。 控制选项 当前步骤部署失败后,应用是否继续部署后续的步骤。
  • 扩缩容触发条件 算力扩缩容触发条件 通过 云监控服务 监控Serverless实例的CPU使用率、内存使用率。 当满足如下条件中的任何一种,就会自动触发Serverless算力扩容。 “CPU使用率”大于80%,持续5秒,距离上次扩容间隔大于等于5秒。 “内存使用率”大于80%,持续5秒,距离上次扩容间隔大于等于5秒。 “CPU使用率”大于60%,持续20秒,距离上次扩容间隔大于等于10秒。 当满足如下条件,就会自动触发Serverless算力缩容。 “CPU使用率”小于30%,且持续15秒,距离上次缩容间隔大于等于15秒。 只读节点数量扩缩触发条件 当算力已经扩容到设定的上限,CPU使用率或内存使用率仍然满足算力扩容的条件,则会触发只读节点数量扩展。 当算力已经缩容到设定的下限,CPU使用率或内存使用率仍然满足算力缩容的条件,则会触发只读节点数量缩减。
  • 注意事项 GaussDB (for MySQL)实例中,倒换优先级仅决定在发生故障进行主备倒换时,将只读节点提升为主节点的顺序。对于Serverless实例,倒换优先级还决定了只读节点的算力是匹配主节点的算力,还是根据自己的工作负载单独进行算力变更。倒换优先级为1的只读节点,至少保持与主节点相同的算力,以保证在发生故障时,可以顺利进行主备倒换。其他倒换优先级的只读节点的算力不做限制,在空闲时可以缩容到设置的最小算力。Serverless实例中需要保证至少存在一个倒换优先级为1的只读节点。
  • 使用示例 LIST-RANGE类型的使用示例 CREATE TABLE tbl_list_range ( col1 INT, col2 INT, col3 varchar(20), col4 DATE ) PARTITION BY LIST (col1) SUBPARTITION BY RANGE(col2) ( PARTITION p0 VALUES in (1, 2)( SUBPARTITION s0 VALUES LESS THAN(1000), SUBPARTITION s1 VALUES LESS THAN(2000) ), PARTITION p1 VALUES in (3, 4)( SUBPARTITION s2 VALUES LESS THAN(1000), SUBPARTITION s3 VALUES LESS THAN(MAXVALUE) ), PARTITION p2 VALUES in (5, 6)( SUBPARTITION s4 VALUES LESS THAN(3000), SUBPARTITION s5 VALUES LESS THAN(MAXVALUE) ) ); LIST COLUMNS-RANGE类型的使用示例 CREATE TABLE tbl_list_columns_range ( col1 INT, col2 INT, col3 varchar(20), col4 DATE ) PARTITION BY LIST COLUMNS(col3) SUBPARTITION BY RANGE(month(col4)) ( PARTITION europe VALUES in ('FRANCE', 'ITALY')( SUBPARTITION q1_2012 VALUES LESS THAN(4), SUBPARTITION q2_2012 VALUES LESS THAN(7) ), PARTITION asia VALUES in ('INDIA', 'PAKISTAN')( SUBPARTITION q1_2013 VALUES LESS THAN(4), SUBPARTITION q2_2013 VALUES LESS THAN(7) ), PARTITION americas VALUES in ('US', 'CANADA')( SUBPARTITION q1_2014 VALUES LESS THAN(4), SUBPARTITION q2_2014 VALUES LESS THAN(7) ) );
  • 语法 创建一个或多个LIST-RANGE分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition PARTITION BY LIST {(expr) | COLUMNS(column_list)} SUBPARTITION BY RANGE {(expr) | COLUMNS(column_list)} (partition_definition [, partition_definition] ...); 其中,partition_definition为: PARTITION partition_name VALUES IN (value_list) (subpartition_definition [, subpartition_definition] ...) subpartition_definition为: SUBPARTITION subpartition_name VALUES LESS THAN {value | value_list | MAXVALUE} 表1 参数说明 参数名称 描述 expr 分区字段表达式。目前只支持INT类型,不支持字符类型。 column_list LIST COLUMNS的情况下使用,分区字段列表,不支持表达式。 value 分区边界值。 value_list LIST COLUMNS的情况下使用,多个字段的边界值。 MAXVALUE 最大值。 partition_name 分区名称,同一个表中不可重复。 subpartition_name 子分区名称, 同一个表中不可重复。
  • 功能介绍 GaussDB(for MySQL)分区表完全兼容社区MySQL的语法和功能。同时,GaussDB(for MySQL)分区表相对于社区MySQL进行了功能增强,支持丰富的分区表类型及组合,使您可以更加便携、简单和高效的使用分区表。 GaussDB(for MySQL)兼容的社区MySQL分区表类型如下: HASH KEY RANGE LIST RANGE-HASH RANGE-KEY LIST-HASH LIST-KEY 组合分区由一级分区(主分区)和二级分区(子分区)组成。 GaussDB(for MySQL)组合分区功能支持的分区表类型如下: RANGE-RANGE RANGE-LIST LIST-RANGE LIST-LIST HASH-HASH HASH-KEY HASH-RANGE HASH-LIST KEY-KEY KEY-HASH KEY-RANGE KEY-LIST 父主题: 二级分区
  • 语法 创建一个或多个HASH-KEY分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition PARTITION BY [LINEAR] HASH(expr) [PARTITIONS num] SUBPARTITION BY [LINEAR] KEY(expr) [SUBPARTITIONS sub_num] (partition_definition [, partition_definition] ...); 其中,partition_definition为: PARTITION partition_name (subpartition_definition [, subpartition_definition] ...) subpartition_definition为: SUBPARTITION subpartition_name 表1 参数说明 参数名称 描述 table_name 要创建的表名称。 expr 分区字段表达式,目前只支持INT类型,不支持字符类型。 partition_name 分区名称,同一个表中不可重复。 subpartition_name 子分区名称,同一个表中不可重复。
  • 注意事项 当有对应的小版本更新时(定期同步开源社区问题、漏洞修复),请及时手动立即升级或者设置可维护时间段升级小版本。 升级数据库内核小版本会重启GaussDB(for MySQL)实例,服务可能会出现闪断,请您尽量在业务低峰期执行该操作,或确保您的应用有自动重连机制。 如果实例有大量表分区(100w+),重启实例时间可能会达到2小时以上。 如果数据库内核从8.0.18升级到8.0.22版本,分区数大于1000时可能会升级失败,请升级之前联系华为云工程师协助检查版本兼容性。 如果主节点和只读节点在同一个AZ,升级内核小版本会触发一次主备倒换;如果在不同AZ,则会触发两次主备倒换。主备倒换指主节点与只读节点进行切换。 升级实例小版本时,如有只读节点,也会同步升级只读节点的小版本,升级完成会重启实例,请您选择合适的时间升级(不支持单独升级只读实例的小版本)。升级内核小版本后,实例会升级到最新的内核小版本,升级成功,无法降级。 小版本升级过程中禁止event的ddl操作,如create event、drop event和alter event。 如果只读节点到主节点的复制延迟大于300秒,则无法升级小版本。
  • 语法 创建一个或多个KEY-HASH分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition PARTITION BY [LINEAR] KEY(expr) [PARTITIONS num] SUBPARTITION BY [LINEAR] HASH(expr) [SUBPARTITIONS sub_num] (partition_definition [, partition_definition] ...); 其中,partition_definition为: PARTITION partition_name (subpartition_definition [, subpartition_definition] ...) subpartition_definition为: SUBPARTITION subpartition_name 表1 参数说明 参数名称 描述 table_name 要创建的表名称。 expr 分区字段表达式,目前只支持INT类型,不支持字符类型。 partition_name 分区名称,同一个表中不可重复。 subpartition_name 子分区名称,同一个表中不可重复。
  • 使用示例 KEY-RANGE类型的使用示例 CREATE TABLE tbl_key_range ( col1 INT, col2 INT, col3 varchar(20), col4 DATE ) PARTITION BY KEY(col1) SUBPARTITION BY RANGE COLUMNS(col4) ( PARTITION p0( SUBPARTITION p0_q1_2023 VALUES LESS THAN('2023-04-01'), SUBPARTITION p0_q2_2023 VALUES LESS THAN('2023-07-01'), SUBPARTITION p0_q3_2023 VALUES LESS THAN('2023-10-01'), SUBPARTITION p0_q4_2023 VALUES LESS THAN('2024-01-01') ), PARTITION p1( SUBPARTITION p1_q1_2023 VALUES LESS THAN('2023-04-01'), SUBPARTITION p1_q2_2023 VALUES LESS THAN('2023-07-01'), SUBPARTITION p1_q3_2023 VALUES LESS THAN('2023-10-01'), SUBPARTITION p1_q4_2023 VALUES LESS THAN('2024-01-01') ), PARTITION p2( SUBPARTITION p2_q1_2023 VALUES LESS THAN('2023-04-01'), SUBPARTITION p2_q2_2023 VALUES LESS THAN('2023-07-01'), SUBPARTITION p2_q3_2023 VALUES LESS THAN('2023-10-01'), SUBPARTITION p2_q4_2023 VALUES LESS THAN('2024-01-01') ) );
  • 语法 创建一个或多个KEY-RANGE分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition PARTITION BY [LINEAR] KEY (column_list) SUBPARTITION BY RANGE {(expr) | COLUMNS(column_list)} (partition_definition [, partition_definition] ...); 其中,partition_definition为: PARTITION partition_name (subpartition_definition [, subpartition_definition] ...) subpartition_definition为: SUBPARTITION subpartition_name VALUES LESS THAN {value | value_list | MAXVALUE} 表1 参数说明 参数名称 描述 table_name 要创建的表名称。 expr 分区字段表达式,目前只支持INT类型,不支持字符类型。 column_list RANGE COLUMNS的情况下使用,分区字段列表,不支持表达式。 value 分区边界值。 value_list LIST COLUMNS的情况下使用,多个字段的边界值。 MAXVALUE 最大值。 partition_name subpartition_name 分区名称,同一个表中不可重复。 子分区名称,同一个表中不可重复。
  • 操作场景 创建GaussDB(for MySQL)数据库实例时,系统默认开启自动备份策略,暂不支持关闭。实例创建成功后,您可根据业务需要设置自动备份策略。GaussDB(for MySQL)按照用户设置的自动备份策略对数据库进行备份。 GaussDB(for MySQL)的备份操作是实例级的,而不是数据库级的。当数据库故障或数据损坏时,可以通过备份恢复数据库,从而保证数据可靠性。由于开启备份会损耗数据库读写性能,建议您选择业务低峰时间段启动自动备份。 设置自动备份策略后,会按照策略中的备份时间段和备份周期进行全量备份。实例在执行备份时,按照策略中的保留天数进行存放,备份时长和实例的数据量有关。 在进行全量备份的同时系统每5分钟会自动生成增量备份,用户不需要设置。生成的增量备份可以用来将库表数据恢复到指定时间点。
  • 前提条件 GaussDB(for MySQL)实例需要按照表1进行参数设置。 表1 参数说明 参数名称 参数值 修改方式 default_authentication_plugin mysql_native_password 修改实例参数 binlog_expire_logs_seconds 86400 说明: Binlog的保留时间建议大于1天:60(秒)*60(分钟)*24(小时)=86400,防止由于binlog时间设置过短,导致增量复制失败。 修改实例参数 log_bin 说明: GaussDB(for MySQL)内核版本小于2.0.45.230900时,使用该参数。 ON GaussDB(for MySQL)服务如何开启binlog? rds_global_sql_log_bin 说明: GaussDB(for MySQL)内核版本大于或等于2.0.45.230900时,使用该参数。 ON GaussDB(for MySQL)服务如何开启binlog? binlog_format ROW 通过“SHOW VARIABLES;”命令查看参数的值,如需修改,请联系客服人员修改。 binlog_row_image FULL 通过“SHOW VARIABLES;”命令查看参数的值,如需修改,请联系客服人员修改。 log_bin_use_v1_row_events OFF 通过“SHOW VARIABLES;”命令查看参数的值,如需修改,请联系客服人员修改。 GaussDB(for MySQL)实例已创建数据库和表。
  • 备份类型 GaussDB(for MySQL)支持的备份有很多种,根据不同维度,有如下分类。 按照数据量:分为全量备份和增量备份。 表1 全量备份和增量备份对比 备份类型 全量备份 增量备份 描述 全量备份是备份数据库所有数据。 增量备份是备份某个时间段内变化的数据。 是否默认开启 是 是 保留时长 如果在新的全量备份未超过保留天数前系统会一直保留,直至新的全量备份超过保留天数后才会删除。 超出备份保留天数的会自动被删除。 特点 对当前状态下的数据库实例中的所有数据进行一次完整的备份。 用户可在任意时刻使用全量备份恢复创建备份时的完整数据。 包含自动备份和手动备份。 系统自动每5分钟或一定数据量时会对上一次自动备份或增量备份后更新的数据进行备份。 全部为自动备份。 查看备份大小 单击实例名称,在“备份恢复”的“全量备份”页签查看备份大小。 单击实例名称,在“备份恢复”的“增量备份”页签查看备份大小。 按照执行方式:分为手动备份和自动备份。 表2 手动备份和自动备份对比 备份类型 自动备份 手动备份 是否默认开启 是 是 保留时长 1~732天 说明: 备份保留时长可联系客服申请开通至最大3660天。 一直保存,直到用户手动删除。 特点 根据您指定的备份保留期保存数据库实例的自动备份。 手动备份是由用户启动的数据库实例的全量备份,会一直保存,直到用户手动删除。 设置方法 设置自动备份策略 创建手动备份 按照备份区域:分为同区域备份和跨区域备份。 设置跨区域备份策略需要开通白名单,请联系客服人员申请权限。 表3 同区域备份和跨区域备份对比 备份类型 同区域备份 跨区域备份 描述 备份存储在同一个区域。 备份存储在除当前区域外的其他区域。 是否默认开启 是 否 保留时长 1~732天 说明: 备份保留时长可联系客服申请开通至最大3660天。 1~1825天 特点 支持将备份文件存放到和实例相同的区域存储,系统默认开启自动备份(同区域)策略,暂不支持关闭。 支持将备份文件存放到另一个区域存储,开启跨区域备份策略后,会自动将该实例的备份文件备份到目标区域。 设置方法 设置同区域备份策略 设置跨区域备份策略 查看备份大小 已开通跨区域备份白名单 单击“备份恢复管理”,在“数据库同区域备份”页签查看目标实例的备份大小。 未开通跨区域备份白名单 单击“备份恢复管理”,查看目标实例的备份大小。 单击“备份恢复管理”,在“数据库跨区域备份”页签查看目标实例的备份大小。 父主题: 数据备份
  • 语法 创建一个或多个HASH-LIST分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition PARTITION BY [LINEAR] HASH(expr) SUBPARTITION BY LIST {(expr) | COLUMNS(column_list)} (partition_definition [, partition_definition] ...); 其中,partition_definition为: PARTITION partition_name (subpartition_definition [, subpartition_definition] ...) subpartition_definition为: SUBPARTITION subpartition_name VALUES IN (value_list) 表1 参数说明 参数名称 描述 table_name 要创建的表名称。 expr 分区字段表达式,目前只支持INT类型,不支持字符类型。 column_list LIST COLUMNS的情况下使用,分区字段列表,不支持表达式。 value_list LIST COLUMNS的情况下使用,多个字段的边界值。 partition_name 分区名称,同一个表中不可重复。 subpartition_name 子分区名称,同一个表中不可重复。
  • 使用示例 HASH-LIST类型的使用示例 CREATE TABLE tbl_hash_list ( col1 INT, col2 INT, col3 varchar(20), col4 DATE ) PARTITION BY HASH(col1) SUBPARTITION BY LIST(col2) ( PARTITION dp0 ( SUBPARTITION p0 VALUES in (1, 2), SUBPARTITION p1 VALUES in (3, 4), SUBPARTITION p2 VALUES in (5, 6) ), PARTITION dp1 ( SUBPARTITION p3 VALUES in (1, 2), SUBPARTITION p4 VALUES in (3, 4), SUBPARTITION p5 VALUES in (5, 6) ), PARTITION dp2 ( SUBPARTITION p6 VALUES in (1, 2), SUBPARTITION p7 VALUES in (3, 4), SUBPARTITION p8 VALUES in (5, 6) ) );
  • 语法 创建一个或多个KEY-KEY分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition PARTITION BY [LINEAR] KEY(expr) [PARTITIONS num] SUBPARTITION BY [LINEAR] KEY(expr) [SUBPARTITIONS sub_num] (partition_definition [, partition_definition] ...); 其中,partition_definition为: PARTITION partition_name (subpartition_definition [, subpartition_definition] ...) subpartition_definition为: SUBPARTITION subpartition_name 表1 参数说明 参数名称 描述 table_name 要创建的表名称。 expr 分区字段表达式,目前只支持INT类型,不支持字符类型。 partition_name 分区名称,同一个表中不可重复。 subpartition_name 子分区名称,同一个表中不可重复。
  • 语法 创建一个或多个RANGE-LIST分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE ... PARTITION BY RANGE {(expr) | COLUMNS(column_list)} SUBPARTITION BY LIST {(expr) | COLUMNS(column_list)} [(partition_definition [, partition_definition] ...)]; 其中,partition_definition为: PARTITION partition_name VALUES LESS THAN {(value | value_list) | MAXVALUE} [(subpartition_definition [, subpartition_definition] ...)] subpartition_definition为: SUBPARTITION subpartition_name VALUES IN {(value | value_list)} 表1 参数说明 参数名称 描述 expr 分区字段表达式。目前只支持INT类型,不支持字符类型。 column_list RANGE COLUMNS的情况下使用。分区字段列表,不支持表达式,可以支持多列。 value 分区边界值。 value_list RANGE COLUMNS的情况下使用,多个字段的边界值。 MAXVALUE 最大值。 partition_name 分区名称,同一个表中不可重复。 subpartition_name 子分区名称, 同一个表中不可重复。
  • 使用示例 RANGE-LIST类型的使用示例 CREATE TABLE tbl_range_list (col1 INT, col2 INT, col3 varchar(20)) PARTITION BY RANGE(col1) SUBPARTITION BY LIST(col2) ( PARTITION m1 VALUES LESS THAN(1000) ( SUBPARTITION p0 VALUES in (1, 2), SUBPARTITION p1 VALUES in (3, 4), SUBPARTITION p2 VALUES in (5, 6) ), PARTITION m2 VALUES LESS THAN(2000) ( SUBPARTITION p3 VALUES in (1, 2), SUBPARTITION p4 VALUES in (3, 4), SUBPARTITION p5 VALUES in (5, 6) ), PARTITION m3 VALUES LESS THAN(MAXVALUE) ( SUBPARTITION p6 VALUES in (1, 2), SUBPARTITION p7 VALUES in (3, 4), SUBPARTITION p8 VALUES in (5, 6) ) ); RANGE COLUMNS-LIST类型的使用示例 CREATE TABLE tbl_range_columns_list ( col1 INT, col2 INT, col3 varchar(20), col4 DATE ) PARTITION BY RANGE COLUMNS(col4) SUBPARTITION BY LIST(col1) ( PARTITION dp1 VALUES LESS THAN('2023-01-01')( SUBPARTITION p0 VALUES in (1, 2), SUBPARTITION p1 VALUES in (3, 4), SUBPARTITION p2 VALUES in (5, 6) ), PARTITION dp2 VALUES LESS THAN('2024-01-01')( SUBPARTITION p3 VALUES in (1, 2), SUBPARTITION p4 VALUES in (3, 4), SUBPARTITION p5 VALUES in (5, 6) ), PARTITION dp3 VALUES LESS THAN('2025-01-01')( SUBPARTITION p6 VALUES in (1, 2), SUBPARTITION p7 VALUES in (3, 4), SUBPARTITION p8 VALUES in (5, 6) ) );
  • 语法 创建一个或多个KEY-LIST分区表,其中每个分区可能有一个或一个以上的子分区。 CREATE TABLE [ schema. ]table_name table_definition PARTITION BY [LINEAR] KEY(expr) SUBPARTITION BY LIST {(expr) | COLUMNS(column_list)} (partition_definition [, partition_definition] ...); 其中,partition_definition为: PARTITION partition_name (subpartition_definition [, subpartition_definition] ...) subpartition_definition为: SUBPARTITION subpartition_name VALUES IN (value_list) 表1 参数说明 参数名称 描述 table_name 要创建的表名称。 expr 分区字段表达式,目前只支持INT类型,不支持字符类型。 column_list LIST COLUMNS的情况下使用,分区字段列表,不支持表达式。 value_list 字段的值。 partition_name 分区名称,同一个表中不可重复。 subpartition_name 子分区名称,同一个表中不可重复。
  • 使用示例 KEY-LIST类型的使用示例 CREATE TABLE tbl_key_list ( col1 INT, col2 INT, col3 varchar(20), col4 DATE ) PARTITION BY KEY(col1) SUBPARTITION BY LIST(col2) ( PARTITION dp0 ( SUBPARTITION p0 VALUES in (1, 2), SUBPARTITION p1 VALUES in (3, 4), SUBPARTITION p2 VALUES in (5, 6) ), PARTITION dp1 ( SUBPARTITION p3 VALUES in (1, 2), SUBPARTITION p4 VALUES in (3, 4), SUBPARTITION p5 VALUES in (5, 6) ), PARTITION dp2 ( SUBPARTITION p6 VALUES in (1, 2), SUBPARTITION p7 VALUES in (3, 4), SUBPARTITION p8 VALUES in (5, 6) ) );
  • 不支持同步的DDL 在创建的同步库中,支持同步表及数据,不支持同步数据库,表空间,索引,外键,函数,存储过程,触发器,视图,分区(删除),主键(增加/删除/修改),事务,用户,角色,权限,事件等对象的操作。 表1和表2提供了不支持同步的索引和分区表相关的操作。这些不支持同步的操作不会影响在HTAP实例上查询和分析数据。 建表语句不能包含CHECK,表选项等。 在数据同步过程中,表3中的操作会导致HTAP中数据和GaussDB(for MySQL) 中数据不一致,应避免使用。 表1 不支持同步的索引相关操作 DDL名称 SQL样例 添加索引 ALTER TABLE tbl_name ADD INDEX name; 重命名索引 ALTER TABLE tbl_name RENAME INDEX old_index_name TO new_index_name; 删除索引 DROP INDEX name ON table; 增加全文索引 CREATE FULLTEXT INDEX name ON table(column); 增加空间索引 ALTER TABLE geom ADD SPATIAL INDEX(g); 修改索引类型 ALTER TABLE tbl_name DROP INDEX i1, ADD INDEX i1(key_part,...) USING BTREE; 添加索引约束 ALTER TABLE tbl_name ADD CONSTRAINT UNIQUE USING BTREE (column); ALTER TABLE tbl_name ADD CONSTRAINT UNIQUE USING HASH(column); 表2 不支持同步的分区表相关操作 DDL名称 SQL样例 分析表分区 ALTER TABLE {db}.tp ANALYZE PARTITION p0; 检查表分区 ALTER TABLE {db}.tp CHECK PARTITION p0; 优化表分区 ALTER TABLE {db}.tp OPTIMIZE PARTITION p0; 重建表分区 ALTER TABLE {db}.tp REBUILD PARTITION p0; 修复表分区 ALTER TABLE {db}.tp REPAIR PARTITION p0; 创建数据库 CREATE DATABASE ddl_test_2; 修改行格式 ALTER TABLE tbl_name ROW_FORMAT = row_format; 设置持久表统计信息 ALTER TABLE tbl_name STATS_PERSISTENT=0, STATS_SAMPLE_PAGES=20,STATS_AUTO_RECALC=1, ALGORITHM=INPLACE, LOCK=NONE; 设置表的字符集 ALTER TABLE tbl_name CHARACTER SET = charset_name; 转换表的字符集 ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name; 优化表 OPTIMIZE TABLE tbl_name; 使用“强制”选项重建表 ALTER TABLE tbl_name FORCE; 执行空重建 ALTER TABLE tbl_name ENGINE=InnoDB; 重命名表空间 ALTER TABLESPACE tablespace_name RENAME TO new_tablespace_name; 增加表分区 ALTER TABLE {db}.tp ADD PARTITION (PARTITION p3 VALUES LESS THAN (2006) ); 设置表默认字符集和校对规则 ALTER TABLE tbl_name DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci; 表3 导致数据不一致的DDL操作说明 DDL名称 SQL样例 删除主键 ALTER TABLE tbl_name DROP PRIMARY KEY; 增加主键 ALTER TABLE {db}.t1 ADD PRIMARY KEY (id); 增加删除主键 ALTER TABLE tbl_name DROP PRIMARY KEY, ADD PRIMARY KEY (column); 主键允许为NULL ALTER TABLE tbl_name MODIFY COLUMN key_column_name data_type; 修改主键类型 ALTER TABLE tbl_name MODIFY COLUMN key_column_name data_type not null; 增加外键 ALTER TABLE tbl1 ADD CONSTRAINT fk_name FOREIGN KEY index (col1)REFERENCES tbl2(col2) referential_actions; 删除外键 ALTER TABLE tbl DROP FOREIGN KEY fk_name; 增加列 说明: 支持一般的列增加,但不支持缺省值为如下取值的场景: 双引号 包含HTAP中不存在的函数,字符串,标志符 ALTER TABLE tbl_name ADD COLUMN column_name column_definition c VARCHAR(10) DEFAULT (CONCAT('1', '2')); 设置列的缺省值 说明: 支持缺省值的设置,但不支持缺省值为如下取值的场景: 双引号 包含HTAP中不存在的函数,字符串,标志符 ALTER TABLE tbl_name ALTER COLUMN col SET DEFAULT literal; 修改列不允许为NULL ALTER TABLE tbl_name MODIFY COLUMN column_name data_type NOT NULL; 同时修改列名和类型 ALTER TABLE t1 CHANGE b b1 VARCHAR(100); 修改列名 ALTER TABLE t1 RENAME COLUMN a TO b; 创建无主键的表 ALTER TABLE t1 ADD COLUMN (c2 INT GENERATED ALWAYS AS (c1 + 1)STORED); 增加存储型衍生列 ALTER TABLE {db}.t1 ADD COLUMN (st2 INT GENERATED ALWAYS AS (c2 + 2)STORED), ALGORITHM=COPY; 增加虚拟型衍生列 ALTER TABLE t1 ADD COLUMN (c2 INT GENERATED ALWAYS AS (c1 + 1)VIRTUAL); 删除表分区 ALTER TABLE {db}.tp DROP PARTITION p4; 丢弃表分区 ALTER TABLE {db}.tp DISCARD PARTITION p2 TABLESPACE; 导入表分区 ALTER TABLE {db}.tp IMPORT PARTITION p2 TABLESPACE; 截断表分区 ALTER TABLE {db}.tp TRUNCATE PARTITION p2; 截断分区表 TRUNCATE {db}.tp; 联合表分区 ALTER TABLE {db}.tp_hash COALESCE PARTITION 2; 重新组织表分区 ALTER TABLE {db}.tp REORGANIZE PARTITION p0,p1,p2,p3 INTO ( ... ); 交换表分区 ALTER TABLE {db}.tp EXCHANGE PARTITION p0 WITH TABLE {db}.tp2; 删除表分区 ALTER TABLE {db}.tp REMOVE PARTITIONING; 使用REPLACE子句 CREATE OR REPLACE TABLE; 父主题: 数据同步
  • 语法 创建一个或多个RANGE-RANGE分区表,其中每个分区可能有一个或一个以上的RANGE类型的子分区。 CREATE TABLE ... PARTITION BY RANGE {(expr) | COLUMNS(column_list)} SUBPARTITION BY RANGE {(expr) | COLUMNS(column_list)} [(partition_definition [, partition_definition] ...)]; 其中,partition_definition为: PARTITION partition_name VALUES LESS THAN {(value | MAXVALUE | value_list) | MAXVALUE} [(subpartition_definition [, subpartition_definition] ...)] subpartition_definition为: SUBPARTITION subpartition_name VALUES LESS THAN {value | value_list | MAXVALUE} 表1 参数说明 参数名称 描述 expr 分区字段表达式。目前只支持INT类型,不支持字符类型。 column_list RANGE COLUMNS的情况下使用。分区字段列表,不支持表达式,可以支持多列。 value 分区边界值。 value_list RANGE COLUMNS的情况下使用,多个字段的边界值。 MAXVALUE 最大值。 partition_name 分区名称,同一个表中不可重复。 subpartition_name 子分区名称, 同一个表中不可重复。
共100000条