华为云用户手册

  • cast转换函数 HetuEngine会将数字和字符值隐式转换成正确的类型。HetuEngine不会把字符和数字类型相互转换。例如,一个查询期望得到一个varchar类型的值,HetuEngine不会自动将bigint类型的值转换为varchar类型。 如果有必要,可以将值显式转换为指定类型。 cast(value AS type) → type 显式转换一个值的类型。可以将varchar类型的值转为数字类型,反过来转换也可以。 select cast('186' as int ); select cast(186 as varchar); try_cast(value AS type) → type 与cast()相似,区别是转换失败返回null。 select try_cast(1860 as tinyint); _col0 ------- NULL (1 row) 当出现数字溢出,null值转换等情况,会返回NULL,但无法转换的情况,还是会报错。 例如:select try_cast(186 as date); Cannot cast integer to date
  • Format format(format, args...) → varchar 描述:对一个字符串,按照格式字符串指定的方式进行格式化,并返回。 SELECT format('%s%%',123);-- '123%' SELECT format('%.5f',pi());-- '3.14159' SELECT format('%03d',8);-- '008' SELECT format('%,.2f',1234567.89);-- '1,234,567.89' SELECT format('%-7s,%7s','hello','world');-- 'hello , world' SELECT format('%2$s %3$s %1$s','a','b','c');-- 'b c a' SELECT format('%1$tA, %1$tB %1$te, %1$tY',date'2006-07-04');-- 'Tuesday, July 4, 2006
  • Data Size parse_presto_data_size函数支持以下单位: 单位 描述 值 B Bytes 1 kB Kilobytes 1024 MB Megabytes 10242 GB Gigabytes 10243 TB Terabytes 10244 PB Petabytes 10245 EB Exabytes 10246 ZB Zettabytes 10247 YB Yottabytes 10248 parse_presto_data_size(string) → decimal(38) 将带单位的格式化的值转为数字,值可以是小数,如下所示: SELECT parse_presto_data_size('1B'); -- 1 SELECT parse_presto_data_size('1kB'); -- 1024 SELECT parse_presto_data_size('1MB'); -- 1048576 SELECT parse_presto_data_size('2.3MB'); -- 2411724
  • 浮点函数 infinity() → double 返回表示正无穷大的常数。 select infinity();-- Infinity is_finite(x) → boolean 判断x是否有限值。 select is_finite(infinity());-- false select is_finite(50000);--true is_infinite(x) → boolean 判断x是否无穷大。 select is_infinite(infinity());-- true select is_infinite(50000);--false is_nan(x) → boolean 判断x是否非数字。 --输入的值必须为double类型 select is_nan(null); -- NULL select is_nan(nan()); -- true select is_nan(45);-- false nan() → double 返回表示非数字的常数。 select nan(); -- NaN
  • 三角函数 所有三角函数的参数都是以弧度表示。参考单位转换函数degrees()和radians()。 acos(x) → double 求反余弦值。 SELECT acos(-1);-- 3.14159265358979 asin(x) → double 求反正弦值。 SELECT asin(0.5);-- 0.5235987755982989 atan(x) → double 求x的反正切值。 SELECT atan(1);-- 0.7853981633974483 atan2(y, x) → double 返回y/x的反正切值。 SELECT atan2(2,1);-- 1.1071487177940904 cos(x) → double 返回x的余弦值。 SELECT cos(-3.1415927);-- -0.9999999999999989 cosh(x) → double 返回x的双曲余弦值。 SELECT cosh(3.1415967);-- 11.592000006553231 sin(x) → double 求x的正弦值。 SELECT sin(1.57079);-- 0.9999999999799858 tan(x) → double 求x的正切值。 SELECT tan(20);-- 2.23716094422474 tanh(x) → double 求x双曲正切值。 select tanh(3.1415927);-- 0.9962720765661324
  • JSON函数 NULL到JSON的转换并不能简单地实现。从独立的NULL进行转换将产生一个SQLNULL,而不是JSON 'null'。不过,在从包含NULL的数组或Map进行转换时,生成的JSON将包含NULL。 在从ROW转换为JSON时,结果是一个JSON数组,而不是一个JSON对象。这是因为对于SQL中的行,位置比名称更重要。 支持从BOOLEAN、TINYINT、SMALLINT、INTEGER、BIGINT、REAL、DOUBLE或VARCHAR进行转换。当数组的元素类型为支持的类型之一、Map的键类型是VARCHAR且Map的值类型是支持的类型之一或行的每个字段类型是支持的类型之一时支持从ARRAY、MAP或ROW进行转换。下面通过示例展示了转换的行为: SELECT CAST(NULL AS JSON);-- NULL SELECT CAST(1 AS JSON);-- JSON '1' SELECT CAST(9223372036854775807 AS JSON);-- JSON '9223372036854775807' SELECT CAST('abc' AS JSON);-- JSON '"abc"' SELECT CAST(true AS JSON);-- JSON 'true' SELECT CAST(1.234 AS JSON);-- JSON '1.234' SELECT CAST(ARRAY[1, 23, 456] AS JSON);-- JSON '[1,23,456]' SELECT CAST(ARRAY[1, NULL, 456] AS JSON);-- JSON '[1,null,456]' SELECT CAST(ARRAY[ARRAY[1, 23], ARRAY[456]] AS JSON);-- JSON '[[1,23],[456]]' SELECT CAST(MAP(ARRAY['k1', 'k2', 'k3'], ARRAY[1, 23, 456]) AS JSON);-- JSON '{"k1":1,"k2":23,"k3":456}' SELECT CAST(CAST(ROW(123, 'abc', true) AS ROW(v1 BIGINT, v2 VARCHAR, v3 BOOLEAN)) AS JSON);-- JSON '[123,"abc",true]'
  • JSON 转其它类型 SELECT CAST(JSON 'null' AS VARCHAR);-- NULL SELECT CAST(JSON '1' AS INTEGER);-- 1 SELECT CAST(JSON '9223372036854775807' AS BIGINT);-- 9223372036854775807 SELECT CAST(JSON '"abc"' AS VARCHAR);-- abc SELECT CAST(JSON 'true' AS BOOLEAN);-- true SELECT CAST(JSON '1.234' AS DOUBLE);-- 1.234 SELECT CAST(JSON '[1,23,456]' AS ARRAY(INTEGER));-- [1, 23, 456] SELECT CAST(JSON '[1,null,456]' AS ARRAY(INTEGER));-- [1, NULL, 456] SELECT CAST(JSON '[[1,23],[456]]' AS ARRAY(ARRAY(INTEGER)));-- [[1, 23], [456]] SELECT CAST(JSON '{"k1":1, "k2":23, "k3":456}' AS MAP(VARCHAR, INTEGER));-- {k1=1, k2=23, k3=456} SELECT CAST(JSON '{"v1":123, "v2":"abc","v3":true}' AS ROW(v1 BIGINT, v2 VARCHAR, v3 BOOLEAN));-- {v1=123, v2=abc, v3=true} SELECT CAST(JSON '[123, "abc",true]' AS ROW(v1 BIGINT, v2 VARCHAR, v3 BOOLEAN));-- {value1=123, value2=abc, value3=true} SELECT CAST(JSON'[[1, 23], 456]'AS ARRAY(JSON));-- [JSON '[1,23]', JSON '456'] SELECT CAST(JSON'{"k1": [1, 23], "k2": 456}'AS MAP(VARCHAR,JSON));-- {k1 = JSON '[1,23]', k2 = JSON '456'} SELECT CAST(JSON'[null]'AS ARRAY(JSON));-- [JSON 'null']
  • 修订记录 发布日期 修订记录 2023-12-08 第十四次正式发布。 在创建单个迁移任务的目的端配置选项区域中新增“配置存储策略”功能。 2022-11-04 第十三次正式发布。 更新创建单个迁移任务操作步骤。 新增迁移前准备工作章节。 2021-03-31 第十二次正式发布。 优化创建单个迁移任务章节。 2021-03-10 第十一次正式发布。 创建单个迁移任务章节内容优化。 2020-08-06 第十次正式发布。 前提条件内容优化。 2020-03-30 第九次正式发布。 创建单个迁移任务中优化“记录失败对象”说明。 2019-10-15 第八次正式发布。 源端云服务商增加微软云。 2019-08-31 第七次正式发布。 在对象存储迁移流程中,优化流程图。 在创建单个迁移任务中,创建迁移任务前增加同意隐私声明的内容。 在创建单个迁移任务中,更新源端选择参数表格。 在创建单个迁移任务中,高级选项参数中增加“流量控制”。 在创建单个迁移任务中,确认迁移信息步骤增加任务状态及ID说明。 2019-04-29 第六次正式发布。 在对象存储迁移流程中,增加流程各环节的内容链接。 删除“创建访问密钥(AK/SK)”和“创建桶”两节。 在创建单个迁移任务中,调整选择服务区域的步骤顺序。 在创建单个迁移任务中,“源端参数”增加“解冻归档数据”。 2019-04-17 第五次正式发布。 在对象存储迁移流程中,更新表述。 在创建单个迁移任务中,在创建任务前增加选择服务所处区域的步骤。 在创建单个迁移任务中,在选择记录失败对象的步骤中增加说明。 在创建单个迁移任务中,更新开始迁移前所勾选的文字。 优化创建单个迁移任务的整体内容布局。 在创建单个迁移任务中,更新表2。 在创建单个迁移任务中,迁移区域表增加“华为云”。 2018-12-21 第四次正式发布。 在创建单个迁移任务中,更新AWS支持的迁移区域。 在创建单个迁移任务中,对指定对象列表文件所在桶增加说明。 在创建单个迁移任务中,增加源端“是否指定桶名”参数的说明。 在创建单个迁移任务中,更新“源端参数”区域的参数名称及说明。 2018-09-30 第三次正式发布。 源端云服务商增加KingsoftCloud。 在迁移任务参数中,增加源端CDN参数。 在迁移任务参数中,增加记录失败对象选项。 在迁移任务参数中,增加对象列表文件必须是UTF-8编码格式的说明。 在迁移任务参数中,去除前缀仅支持Qiniu的描述。 在迁移任务参数中,增加对象列表文件不能包括无效空格的说明。 2018-08-09 第二次正式发布。 根据新版界面更新资料。 2018-04-09 第一次正式发布。
  • 操作步骤 登录管理控制台,进入“对象存储迁移服务”页面。 在“迁移前评估”页面,勾选评估成功的桶,单击“创建迁移任务”。 仔细阅读弹出的隐私协议声明,勾选“同意以上隐私协议”,单击“确定”,进入“创建迁移任务”页面。 可同时选中同一个云服务提供商名下的多个桶。 配置鉴权,参见表1。 表1 鉴权配置 类型 参数 说明 源端鉴权 访问密钥 云服务提供商的访问密钥ID,最大长度是100个字符。 私有访问密钥 云服务提供商的私有访问密钥ID,与访问密钥相匹配。最大长度是100个字符。 目的端鉴权 访问密钥 华为云的访问密钥ID,最大长度是100个字符。 私有访问密钥 华为云的私有访问密钥ID,与访问密钥相匹配。最大长度是100个字符。 配置各迁移任务的基本参数,参见表2。 表2 迁移配置 参数 说明 目的端桶 华为云的待迁移桶。 KMS加密 对迁移数据进行KMS服务端加密后再存储至目的端OBS桶中。 解冻归档数据 当您的源端云服务提供商支持自动解冻归档类型数据时,可以开启此选项。 流量控制 设置迁移任务在指定时段的最大流量带宽。单击进行配置。 源端自定义域名配置 当默认域名不能满足您的迁移需求时,可以使用此参数,单击进行配置。 配置高级选项,参见表3。 表3 高级选项 参数 说明 记录失败对象 是否记录迁移失败的对象。 迁移指定时间后的对象 是否使用时间过滤源端待迁移对象。 SMN通知 是否使用SMN消息通知功能,以便通知您迁移任务的结果。 单击“创建任务”,提交迁移任务。 提示“任务提交成功”,同时在对象存储迁移服务的任务列表左上角提示创建进度。
  • 背景信息 由于需要全量分析桶内对象基础信息,如果您的桶内对象数量非常多,评估将会消耗较长时间,详细信息请参考表1。 表1 对象存储评估速度 云服务提供商 评估速度 华为云 27,000,000个/小时 阿里云 27,000,000个/小时 腾讯云 20,000,000个/小时 亚马逊云(中国) 24,000,000个/小时 七牛云 20,000,000个/小时 金山云 20,000,000个/小时 优刻得 20,000,000个/小时 百度云 21,000,000个/小时 评估不会下载您的对象数据信息,只会获取对象的属性。 评估只会消耗您的API调用费用,不会产生额外费用。 以1万次API调用收取0.01元为例,每次API调用列举1000个对象,评估1亿个对象将消耗您0.1元。
  • 操作步骤 登录管理控制台,进入“对象存储迁移服务”页面。 在左侧导航树,选择“迁移前评估”。 右侧切换到“迁移前评估”页面。 单击“创建评估”。 仔细阅读弹出的隐私协议声明,勾选“同意以上隐私协议”,单击“确定”,进入“创建评估”页面。 选择源端参数,参见表2,并单击“列出桶”。 在下方区域显示源端的桶对象。 表2 源端参数配置 参数 说明 云服务提供商 待评估的源端云服务提供商。 访问密钥 源端云服务提供商的访问密钥ID。最大长度是100个字符。 私有访问密钥 源端云服务提供商的私有访问密钥ID,与访问密钥相匹配。最大长度是100个字符。 AppId 如果云服务提供商为腾讯云,则需要输入该参数,AppId是您腾讯云账户的一个标识。 选择需要进行评估的桶,单击“开始评估”。 评估过程中,如果您需要终止本次评估,请单击“操作”栏的“终止”。 评估完成后,在“迁移前评估”页面的“评估报告”列单击“查看”了解详情。 评估详情包括了对象size分布、对象前缀分布和对象时间分布等统计信息。 有关评估的状态说明,参见表3。 表3 评估状态说明 状态 说明 等待中 评估创建后正在进行后台初始化操作。 评估中 系统正在对您指定的桶进行评估。 评估成功 已成功完成对桶的评估。您可以基于此评估创建迁移任务。 评估失败 对桶的评估没有成功。您需要排查原因。 终止中 在您单击“终止”后,系统正在终止本次评估。 已终止 评估已终止。如果您需要评估,需要重新创建评估。
  • 账号权限要求 当使用DRS将其他云MySQL数据库的数据迁移到华为云云数据库GaussDB(for MySQL)实例时,在不同迁移类型的情况下,对源数据库的账号权限要求如下: 表1 迁移账号权限 迁移类型 全量迁移 全量+增量迁移 源数据库(MySQL) SELECT、SHOW VIEW、EVENT。 SELECT、SHOW VIEW、EVENT、LOCK TABLES、REPLICATION SLAVE、REPLICATION CLIENT。 MySQL的相关授权操作可参考操作指导。
  • 内网连接实例,更快更安全 使用DAS连接数据库实例 华为云数据管理服务(Data Admin Service,简称DAS)是一款专业的简化数据库管理工具,提供优质的可视化操作界面,大幅提高工作效率,让数据管理变得既安全又简单。您可以通过数据管理服务连接并管理GaussDB(for MySQL)实例。GaussDB(for MySQL)默认为您开通了远程主机登录权限,推荐您使用更安全便捷的数据管理服务连接实例。详情请参见通过DAS连接GaussDB(for MySQL)实例。 使用读写内网地址连接数据库实例 当应用部署在弹性云服务器上,且该弹性云服务器与GaussDB(for MySQL)实例处于同一区域,同一VPC时,建议单独使用读写内网地址连接弹性云服务器与GaussDB(for MySQL)数据库实例,安全性较高,而且可实现GaussDB(for MySQL)的较好性能。详情请参见内网连接GaussDB(for MySQL)实例。
  • 正确的使用访问控制能力保护数据不泄露、不被篡改 正确的使用访问控制能力,可以有效预防您的数据被异常窃取或者破坏。 建议对不同角色的IAM用户仅设置最小权限,避免权限过大导致数据泄露或被误操作 为了更好的进行权限隔离和管理,建议您配置独立的IAM管理员,授予IAM管理员IAM策略的管理权限。IAM管理员可以根据您业务的实际诉求创建不同的用户组,用户组对应不同的数据访问场景,通过将用户添加到用户组并将IAM策略绑定到对应用户组,IAM管理员可以为不同职能部门的员工按照最小权限原则授予不同的数据访问权限,详情请参见权限管理。 配置安全组访问控制,保护数据不被异常读取和操作 您创建GaussDB(for MySQL)实例后,配置安全组的入方向、出方向规则限制,可以控制连接实例的网络范围,避免GaussDB(for MySQL)暴露给不可信第三方。详情请参见设置安全组规则。 建议使用非默认端口,避免端口被扫描攻击 GaussDB(for MySQL)默认端口为3306,容易被扫描攻击,建议将端口设置为非默认端口。详情请参见修改数据库端口。 定期修改管理员账号密码,防止账号被盗用。 使用不同的账号(非管理员)管理不同的数据库 通过创建不同的账号,将各个数据库按照业务或者实际需要分配给不同的账号管理,并且对账号进行读写权限的分配。详情请参见账号管理。 开启敏感操作多因子认证保护您的数据不被误删 GaussDB(for MySQL)支持敏感操作保护,开启后执行删除实例等敏感操作时,系统会进行身份验证,进一步保证GaussDB(for MySQL)配置和数据的安全性,对数据的高危操作进行控制。详情请参见敏感操作。
  • 利用GaussDB(for MySQL)提供的操作日志审计是否存在异常数据访问操作 开启云审计服务,记录GaussDB(for MySQL)的所有访问操作便于事后审查 云审计服务(Cloud Trace Service,CTS),是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 您开通云审计服务并创建和配置追踪器后,CTS可记录GaussDB(for MySQL)的管理事件和数据事件用于审计。详情请参见CTS审计。 开启全量SQL记录的所有SQL访问请求 当您开启全量SQL功能,系统会将所有的SQL文本内容进行存储,以便进行分析。详情请参见设置全量SQL。 使用云监控服务对安全事件进行实时监控、告警 华为云提供了云监控服务(Cloud Eye)。您可使用该服务监控自己GaussDB(for MySQL)实例,执行自动实时监控、告警和通知操作,帮助您实时掌握实例的运行状态、重要事件告警等信息。 云监控服务不需要开通,会在用户创建资源(如GaussDB(for MySQL)实例)后自动启动。 关于云监控服务的更多介绍,请参见云监控服务产品介绍。
  • 构建数据的恢复、容灾能力避免数据被异常破坏 预先构建数据的容灾和恢复能力,可以有效避免异常数据处理场景下数据误删、破坏的问题。 建议合理规划自动备份策略 创建GaussDB(for MySQL)数据库实例时,系统默认开启自动备份策略,暂不支持关闭。实例创建成功后,您可根据业务需要设置自动备份策略。GaussDB(for MySQL)按照用户设置的自动备份策略对数据库进行备份。GaussDB(for MySQL)的备份操作是实例级的,而不是数据库级的。当数据库故障或数据损坏时,可以通过备份恢复数据库,从而保证数据可靠性。由于开启备份会损耗数据库读写性能,建议您选择业务低峰时间段启动自动备份。详情请参见设置自动备份策略。 建议使用跨区域备份构建异地数据容灾能力 云数据库 GaussDB(for MySQL)支持将备份文件存放到另一个区域存储,某一区域的实例故障后,可以在异地区域使用备份文件在异地恢复到新的 GaussDB(for MySQL)实例,用来恢复业务。详情请参见设置跨区域备份策略。
  • 确保您的数据在传输到GaussDB(for MySQL)过程中不被窃取和篡改 建议使用HTTPS协议访问GaussDB(for MySQL),确保数据传输过程中不被窃取和破坏 HTTPS(超文本传输安全协议)是一种互联网通信协议,可保护客户端与服务端之间传输的数据的完整性和机密性。建议您使用HTTPS协议进行数据访问。 使用SSL加密连接数据库实例 SSL(Secure Socket Layer,安全套接层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。SSL可以加密数据以防止数据中途被窃取,并且维护数据的完整性,确保数据在传输过程中不被改变。详情请参见设置SSL数据加密。
  • 初始化磁盘 执行如下命令,创建mysql文件夹。 mkdir /mysql 执行如下命令,查看数据盘信息。 fdisk -l 回显如下: 执行如下命令,初始化数据盘。 mkfs.ext4 /dev/vdb 执行如下命令,挂载磁盘。 mount /dev/vdb /mysql 执行如下命令,查看磁盘是否挂载成功。 df -h 当显示如下回显是,表示挂载成功。 依次执行如下命令,创建文件夹并切换至install文件夹。 mkdir -p /mysql/install/data mkdir -p /mysql/install/tmp mkdir -p /mysql/install/file mkdir -p /mysql/install/log cd /mysql/install 下载并安装社区版MySQL,详情请参见如何下载并安装MySQL客户端。 执行如下命令,初始化mysql。 /mysql/install/mysql-8.0.22/bin/mysqld --defaults-file= /etc/my.cnf --initialize-insecure 执行如下命令,启动MySQL。 nohup /mysql/install/mysql-8.0.22/bin/mysqld --defaults-file= /etc/my.cnf & 执行如下命令,连接MySQL。 /mysql/install/mysql-8.0.22/bin/mysql 执行如下命令,创建root用户并授权。 grant all privileges on *.* to 'root'@'%' identified by 'xxx' with grant option;FLUSH PRIVILEGES;
  • 操作步骤 进入购买云数据库 GaussDB(for MySQL)页面。 在“购买数据库实例”页面,计费模式选择“按需计费”,填写并选择实例相关信息后,单击“立即购买”。 图1 基本信息 表1 基本信息 参数 描述 区域 实例所在区域,也可在实例管理页面左上角切换。 须知: 不同区域内的产品内网不互通,且购买后不能更换,请谨慎选择。 实例名称 实例名称长度在4个到64个字符之间,必须以字母开头,可以包含字母、数字、中划线或下划线,不能包含其他特殊字符。 创建多个实例时,实例名称长度会发生变化,具体以实际页面显示情况为主。 购买多个数据库实例时,名称自动按序增加4位数字后缀。例如输入instance,从instance-0001开始命名;若已有instance-0010,从instance-0011开始命名。 批量创建的实例名称长度在4个到59个字符之间,必须以字母开头,可以包含字母、数字、中划线或下划线,不能包含其他特殊字符。 数据库引擎 GaussDB(for MySQL)。 兼容的数据库版本 MySQL 8.0。 实例类型 主备:主备版包含1个主节点和最少1个最多15个只读节点。主节点处理读写请求,只读节点仅处理读请求。主节点如果发生故障,只读节点会自动切换为主节点,保证数据库的高可用。适用于中大型企业的生产数据库,覆盖互联网、政企税务、银行保险等行业。 单机:单机版只有1个主节点,没有只读节点。单机版无需处理多个节点之间的同步协作,易满足ACID事务需求。适用于个人学习、微型网站以及中小企业的开发测试环境。 说明: 购买单机版实例,请联系客服人员申请权限。 可用区类型 可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。有的区域支持单可用区和多可用区,有的区域只支持单可用区。 单可用区:主节点和只读节点部署在同一个可用区。 多可用区:您选择主可用区,创建的只读节点会均匀分布在各可用区之间,保证高可靠性。 时区 由于世界各国家与地区经度不同,地方时也有所不同,因此会划分为不同的时区。时区可在创建实例时选择,后期不可修改。 图2 规格与存储(按需计费) 表2 规格与存储 参数 描述 性能规格 GaussDB(for MySQL)支持的性能规格,请参见数据库实例规格。 GaussDB(for MySQL)是基于共享存储架构的云原生数据库。为了保证实例在极高读写压力场景下的业务稳定,会根据规格对实例读写峰值进行智能平滑控制,将实例读写能力稳定在一个较高水平,请您参照性能白皮书,选择合适的性能规格。 创建成功后可进行规格变更,请参见变更实例的CPU和内存规格。 CPU架构 实例的CPU和内存,CPU架构分为X86和鲲鹏。 节点数量 每个实例默认只有1个主节点,其余节点为只读节点,“按需计费”实例单次创建最多可批量申请9个只读节点。 实例创建成功后,您可根据业务需要,添加只读节点,一个实例最多可以创建15个只读节点。详情请参见创建只读节点。 存储空间(GB) 您的存储空间会有必要的文件系统开销,这些开销包括索引节点和保留块,以及数据库运行必需的空间。 按需实例:购买时无需选择存储容量,存储费用按照实际使用量每小时计费。 备份空间 免费赠送与实际使用存储空间等量的备份空间,超出免费空间部分将按需计费。 图3 网络和数据库设置 表3 网络 参数 描述 虚拟私有云 GaussDB(for MySQL)数据库实例所在的虚拟专用网络,可以对不同业务进行网络隔离。您需要创建或选择所需的虚拟私有云。如何创建虚拟私有云,请参见《虚拟私有云用户指南》中的“创建虚拟私有云基本信息及子网”。 如果没有可选的虚拟私有云,GaussDB(for MySQL)数据库服务默认为您分配资源。 须知: 目前GaussDB(for MySQL)实例创建完成后不支持切换虚拟私有云,请谨慎选择所属虚拟私有云。 子网 通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全性。 创建实例时GaussDB(for MySQL)会自动为您配置读写内网地址,您也可输入子网号段内未使用的读写内网地址。 说明: GaussDB(for MySQL)目前不支持IPv6网络。 内网安全组 内网安全组限制实例的安全访问规则,加强GaussDB(for MySQL)数据库服务与其他服务间的安全访问。请确保所选取的内网安全组允许客户端访问数据库实例。 如果不创建内网安全组或没有可选的内网安全组,GaussDB(for MySQL)数据库服务默认为您分配内网安全组资源。 说明: 为了保证后续数据库的连接和访问,选择内网安全组时,需在安全组的入方向放开3306端口和icmp协议。若当前选择的内网安全组未放开该端口和协议,请根据页面提示单击“快速配置”或“设置规则”,在弹出的对话框中完成设置。 快速配置:单击“快速配置”后,在弹出的对话框中,勾选同意放通3306端口和icmp协议,单击“确定”完成配置。 设置规则:单击“设置规则”后,可参考设置安全组规则完成配置。 表4 数据库代理 参数 描述 数据库代理 默认开启。开启代理后您可以使用读写分离地址连接到数据库。读写分离地址个数将与主节点数量一致。 购买实例时开通数据库代理,请联系客服申请权限。 代理模式 支持读写模式和只读模式。 读写模式:所有写请求只发往主节点,所有读请求按照读权重转发到所有被选择的节点。 只读模式:不接收写请求。所有读请求按照读权重转发到已选只读节点,不会转发到主节点,即使主节点被选为服务节点。 代理实例规格 根据实际需要选择代理实例规格。 表5 数据库配置 参数 描述 管理员账户名 数据库的登录名默认为root。 管理员密码 所设置的密码,长度为8~32个字符,至少包含以下字符中的3种:大写字母、小写字母、数字、特殊字符~!@#%^*-_=+?,()&$的组合。请您输入高强度密码并定期修改,以提高安全性,防止出现密码被暴力破解等安全风险。 请妥善保管您的密码,因为系统将无法获取您的密码信息。 实例创建成功后,如需重置密码,请参见重置管理员密码。 确认密码 必须和管理员密码相同。 表6 参数模板 参数 描述 参数模板 数据库参数就像是数据库引擎配置值的容器,参数模板中的参数可应用于一个或多个相同类型的数据库实例。实例创建成功后,参数模板可进行修改。 须知: 创建数据库实例时,为确保数据库实例正常创建,自定义参数模板中相关规格参数如下不会下发,而是采用系统默认的推荐值。 “innodb_buffer_pool_size” “innodb_log_buffer_size” “max_connections” “innodb_buffer_pool_instances” “innodb_page_cleaners” “innodb_parallel_read_threads” “innodb_read_io_threads” “innodb_write_io_threads” “threadpool_size” 您可以在实例创建完成之后根据业务需要进行调整。具体请参见编辑参数模板。 表名大小写敏感 创建数据库及表时,表存储是否大小写敏感,默认小写。创建后无法修改,请谨慎选择。 是,表示创建数据库及表时,区分大小写。 否,表示创建数据库及表时,不区分大小写,默认小写。 企业项目 该参数针对企业用户使用,如需使用该功能,请联系客服申请开通。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 请在下拉框中选择所在的企业项目,其中,default为默认项目。 如果需要自定义企业项目,请在控制台右上角单击“企业”,进入“企业项目”页面创建,具体请参见《企业管理用户指南》中“创建企业项目”的内容。 表7 标签 参数 描述 标签 可选配置,对关系型数据库的标识。使用标签可以方便识别和管理您拥有的数据库服务资源。每个实例最多支持20个标签配额。 实例创建成功后,您可以单击实例名称,在标签页签下查看对应标签。关于标签的详细操作,请参见标签。 表8 批量创建 参数 描述 购买数量 GaussDB(for MySQL)支持批量创建实例。默认该数值为1,即最少选择购买1个实例,最多10个。 如果您对价格有疑问,可以单击页面底部“配置费用”处的“了解计费详情”来了解产品价格。 云数据库GaussDB(for MySQL)数据库的性能,取决于用户申请GaussDB(for MySQL)实例时所选择的配置。可供用户选择的硬件配置项为性能规格、存储类型以及存储空间。 进行规格确认。 如果需要重新选择实例规格,单击“上一步”,返回上个页面修改实例信息。 如果规格确认无误,单击“提交”,完成创建实例的申请。 GaussDB(for MySQL)数据库实例创建成功后,用户可以在“实例管理”页面对其进行查看和管理。 创建实例过程中,状态显示为“创建中”。创建完成的实例状态为“正常”,此时,实例才可以正常使用。 创建实例时,系统默认开启自动备份策略。实例创建成功后,备份策略不允许关闭,并且系统会自动创建一个全量备份。 实例创建成功后,可在实例管理页面确认实例类型。 实例创建成功后,实例名称支持添加备注,以方便用户备注分类。 数据库端口默认为3306,实例创建成功后可修改。 具体请参见修改数据库端口。 为了保证数据及实例安全,建议您及时修改数据库默认端口。
  • 操作步骤 进入购买云数据库 GaussDB(for MySQL)页面。 在“购买数据库实例”页面,计费模式选择“包年包月”,填写并选择实例相关信息后,单击“立即购买”。 图1 基本信息 表1 基本信息 参数 描述 区域 实例所在区域,也可在实例管理页面左上角切换。 须知: 不同区域内的产品内网不互通,且购买后不能更换,请谨慎选择。 实例名称 实例名称长度在4个到64个字符之间,必须以字母开头,可以包含字母、数字、中划线或下划线,不能包含其他特殊字符。 创建多个实例时,实例名称长度会发生变化,具体以实际页面显示情况为主。 购买多个数据库实例时,名称自动按序增加4位数字后缀。例如输入instance,从instance-0001开始命名;若已有instance-0010,从instance-0011开始命名。 批量创建的实例名称长度在4个到59个字符之间,必须以字母开头,可以包含字母、数字、中划线或下划线,不能包含其他特殊字符。 数据库引擎 GaussDB(for MySQL)。 兼容的数据库版本 MySQL 8.0。 实例类型 主备:主备版包含1个主节点和最少1个最多15个只读节点。主节点处理读写请求,只读节点仅处理读请求。主节点如果发生故障,只读节点会自动切换为主节点,保证数据库的高可用。适用于中大型企业的生产数据库,覆盖互联网、政企税务、银行保险等行业。 单机:单机版只有1个主节点,没有只读节点。单机版无需处理多个节点之间的同步协作,易满足ACID事务需求。适用于个人学习、微型网站以及中小企业的开发测试环境。 说明: 购买单机版实例,请联系客服人员申请权限。 可用区类型 可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。有的区域支持单可用区和多可用区,有的区域只支持单可用区。 单可用区:主节点和只读节点部署在同一个可用区。 多可用区:您选择主可用区,创建的只读节点会均匀分布在各可用区之间,保证高可靠性。 时区 由于世界各国家与地区经度不同,地方时也有所不同,因此会划分为不同的时区。时区可在创建实例时选择,后期不可修改。 图2 规格与存储(包年/包月) 表2 规格与存储 参数 描述 性能规格 GaussDB(for MySQL)支持的性能规格,请参见数据库实例规格。 GaussDB(for MySQL)是基于共享存储架构的云原生数据库。为了保证实例在极高读写压力场景下的业务稳定,会根据规格对实例读写峰值进行智能平滑控制,将实例读写能力稳定在一个较高水平,请您参照性能白皮书,选择合适的性能规格。 创建成功后可进行规格变更,请参见变更实例的CPU和内存规格。 CPU架构 实例的CPU和内存,CPU架构分为X86和鲲鹏。 节点数量 每个实例默认只有1个主节点,其余节点为只读节点,“包年/包月”实例单次创建最多可批量申请9个只读节点。 实例创建成功后,您可根据业务需要,添加只读节点,一个实例最多可以创建15个只读节点。详情请参见创建只读节点。 存储空间(GB) 您的存储空间会有必要的文件系统开销,这些开销包括索引节点和保留块,以及数据库运行必需的空间。 包年/包月实例:存储空间支持40GB到128000GB,用户选择容量大小必须为10的整数倍,创建成功后可进行变更存储空间。 说明: 部分用户存储空间支持10GB~128000GB,如果您想创建存储空间最小为10GB的数据库实例,请联系客服人员开通权限。 备份空间 免费赠送与实际使用存储空间等量的备份空间,超出免费空间部分将按需计费。 包年/包月实例:如果您有包周期计费的X GB存储空间并且按需付费了Y GB的存储空间,将为您赠送(X + Y)GB备份空间。 图3 网络和数据库设置 表3 网络 参数 描述 虚拟私有云 GaussDB(for MySQL)数据库实例所在的虚拟专用网络,可以对不同业务进行网络隔离。您需要创建或选择所需的虚拟私有云。如何创建虚拟私有云,请参见《虚拟私有云用户指南》中的“创建虚拟私有云基本信息及子网”。 如果没有可选的虚拟私有云,GaussDB(for MySQL)数据库服务默认为您分配资源。 须知: 目前GaussDB(for MySQL)实例创建完成后不支持切换虚拟私有云,请谨慎选择所属虚拟私有云。 子网 通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全性。 创建实例时GaussDB(for MySQL)会自动为您配置读写内网地址,您也可输入子网号段内未使用的读写内网地址。 说明: GaussDB(for MySQL)目前不支持IPv6网络。 内网安全组 内网安全组限制实例的安全访问规则,加强GaussDB(for MySQL)数据库服务与其他服务间的安全访问。请确保所选取的内网安全组允许客户端访问数据库实例。 如果不创建内网安全组或没有可选的内网安全组,GaussDB(for MySQL)数据库服务默认为您分配内网安全组资源。 说明: 为了保证后续数据库的连接和访问,选择内网安全组时,需在安全组的入方向放开3306端口和icmp协议。若当前选择的内网安全组未放开该端口和协议,请根据页面提示单击“快速配置”或“设置规则”,在弹出的对话框中完成设置。 快速配置:单击“快速配置”后,在弹出的对话框中,勾选同意放通3306端口和icmp协议,单击“确定”完成配置。 设置规则:单击“设置规则”后,可参考设置安全组规则完成配置。 表4 数据库代理 参数 描述 数据库代理 默认开启。开启代理后您可以使用读写分离地址连接到数据库。读写分离地址个数将与主节点数量一致。 购买实例时开通数据库代理,请联系客服申请权限。 代理模式 支持读写模式和只读模式。 读写模式:所有写请求只发往主节点,所有读请求按照读权重转发到所有被选择的节点。 只读模式:不接收写请求。所有读请求按照读权重转发到已选只读节点,不会转发到主节点,即使主节点被选为服务节点。 代理实例规格 根据实际需要选择代理实例规格。 表5 数据库配置 参数 描述 管理员账户名 数据库的登录名默认为root。 管理员密码 所设置的密码,长度为8~32个字符,至少包含以下字符中的3种:大写字母、小写字母、数字、特殊字符~!@#%^*-_=+?,()&$的组合。请您输入高强度密码并定期修改,以提高安全性,防止出现密码被暴力破解等安全风险。 请妥善保管您的密码,因为系统将无法获取您的密码信息。 实例创建成功后,如需重置密码,请参见重置管理员密码。 确认密码 必须和管理员密码相同。 表6 参数模板 参数 描述 参数模板 数据库参数就像是数据库引擎配置值的容器,参数模板中的参数可应用于一个或多个相同类型的数据库实例。实例创建成功后,参数模板可进行修改。 须知: 创建数据库实例时,为确保数据库实例正常创建,自定义参数模板中相关规格参数如下不会下发,而是采用系统默认的推荐值。 “innodb_buffer_pool_size” “innodb_log_buffer_size” “max_connections” “innodb_buffer_pool_instances” “innodb_page_cleaners” “innodb_parallel_read_threads” “innodb_read_io_threads” “innodb_write_io_threads” “threadpool_size” 您可以在实例创建完成之后根据业务需要进行调整。具体请参见编辑参数模板。 表名大小写敏感 创建数据库及表时,表存储是否大小写敏感,默认小写。创建后无法修改,请谨慎选择。 是,表示创建数据库及表时,区分大小写。 否,表示创建数据库及表时,不区分大小写,默认小写。 企业项目 该参数针对企业用户使用,如需使用该功能,请联系客服申请开通。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 请在下拉框中选择所在的企业项目,其中,default为默认项目。 如果需要自定义企业项目,请在控制台右上角单击“企业”,进入“企业项目”页面创建,具体请参见《企业管理用户指南》中“创建企业项目”的内容。 表7 标签 参数 描述 标签 可选配置,对关系型数据库的标识。使用标签可以方便识别和管理您拥有的数据库服务资源。每个实例最多支持20个标签配额。 实例创建成功后,您可以单击实例名称,在标签页签下查看对应标签。关于标签的详细操作,请参见标签。 表8 购买周期(包年/包月) 参数 描述 购买时长 选择所需的时长,系统会自动计算对应的配置费用,时间越长,折扣越大。 自动续费 默认不勾选,不进行自动续费。 勾选后实例自动续费,自动续费周期与原订单周期一致。 表9 批量创建 参数 描述 购买数量 GaussDB(for MySQL)支持批量创建实例。默认该数值为1,即最少选择购买1个实例,最多10个。 如果您对价格有疑问,可以单击页面底部“配置费用”处的“了解计费详情”来了解产品价格。 云数据库GaussDB(for MySQL)数据库的性能,取决于用户申请GaussDB(for MySQL)实例时所选择的配置。可供用户选择的硬件配置项为性能规格、存储类型以及存储空间。 对于包年/包月模式的实例,进行订单确认。 如果需要重新选择实例规格,单击“上一步”,回到上个页面修改实例信息。 如果订单确认无误,单击“去支付”,进入“付款”页面。 对于“包年/包月”模式的实例,选择付费方式,付款成功后,才会创建。 GaussDB(for MySQL)数据库实例创建成功后,用户可以在“实例管理”页面对其进行查看和管理。 创建实例过程中,状态显示为“创建中”。创建完成的实例状态为“正常”,此时,实例才可以正常使用。 创建实例时,系统默认开启自动备份策略。实例创建成功后,备份策略不允许关闭,并且系统会自动创建一个全量备份。 实例创建成功后,可在实例管理页面确认实例类型。 实例创建成功后,实例名称支持添加备注,以方便用户备注分类。 数据库端口默认为3306,实例创建成功后可修改。 具体请参见修改数据库端口。 为了保证数据及实例安全,建议您及时修改数据库默认端口。
  • 测试环境 GaussDB(for MySQL)测试环境如下: 区域:华东-上海一(其他区域与可用分区情况可参见表1)。 可用分区:可用区1。 测试用云数据库 GaussDB(for MySQL)实例为一主一只读集群。 弹性云服务器(Elastic Cloud Server,简称ECS):ECS与数据库节点在同一个可用区,规格建议选择通用计算增强型 | c7.8xlarge.4 | 32vCPUs | 128GB,操作系统镜像使用CentOS 7.6 64bit位版本。由于压测工具需要安装额外的编译工具,建议ECS绑定弹性IP。 表1 区域与可用分区对应表 区域 可用分区 华北-北京四 可用区2 上海一 可用区1 广州 可用区6
  • OBS托管 若您已有大量的音视频文件存储在华为云OBS桶中,希望使用视频点播的转码、截图等功能对这些音视频进行处理。虽然使用OBS转存方式能满足该场景,但会导致OBS和点播服务中分别存储有相同的音视频文件,不仅造成额外的存储费用,且OBS桶中有新增音视频时,需要再次使用工具进行手动转存。因此,华为云点播服务还提供了OBS托管功能,源文件仍存储在OBS桶中,将该OBS桶授权托管给点播服务,这样您就可以直接在点播服务中对源文件进行处理,且处理后生成的相关媒资文件可以选择存储在点播服务或者自己的OBS桶中。 华为云点播服务提供的OBS托管功能有如下限制: 不支持跨区域托管,如“华北-北京四”OBS桶中的音视频只能托管到“华北-北京四”点播服务中。 IAM子账号暂不支持使用OBS托管功能。 支持托管的格式如下所示: 视频文件:MP4,FLV,TS,MOV,MXF,MPEG,WMV,AVI,M4V,F4V,MPG 音视频文件:MP3,OGG,WAV,WMA,APE,FLAC,AAC,AC3,MMF,AMR,M4A,M4R,WV,MP2
  • 步骤四:保障上线工作 在设计迁移上线方案时,建议您参考以下维度设计上线方案,以确保迁移成功。其他注意事项请结合实际业务场景补充。 表1 上线方案说明 注意事项 说明 上线前检查 针对业务量进行评估、对业务的监控影响、可能影响的客户,以及配置检查。 监控告警 需提前配置监控告警,在业务波动时能及时分析并处理。 上线前数据备份 上线前相关配置或文件需要先备份,以便上线后进行数据对比或数据恢复。 上线灰度策略 上线方案设计中务必要支持灰度,逐量切换风险低。 上线支持回退 上线方案需支持回退,如出现异常时能及时恢复业务。
  • 计费示例 保底防护带宽<攻击峰值<弹性防护带宽:弹性防护带宽用量(计费)=当日攻击峰值-保底防护带宽 攻击峰值≥弹性防护带宽:弹性防护带宽用量(计费)=弹性防护带宽-保底防护带宽 例如:三个DDoS高防实例,保底防护带宽均为20Gbps,弹性防护带宽规格为100Gbps。三个实例当日遭受多次DDoS攻击,弹性防护带宽计费规则如下。 表1 计费规则 实例 攻击峰值 是否产生费用 说明 实例A 20Gbps 否 攻击峰值未超过保底防护带宽,不计费。 实例B 80Gbps 是 计费防护带宽:80Gbps-20Gbps=60Gbps。 实例C 120Gbps 是 120Gbps大于弹性防护带宽100Gbps。 计费防护带宽:100Gbps-20Gbps=80Gbps。
  • 计费示例 保底防护带宽<攻击峰值<弹性防护带宽:弹性防护带宽用量(计费)=当日攻击峰值-保底防护带宽 攻击峰值≥弹性防护带宽:弹性防护带宽用量(计费)=弹性防护带宽-保底防护带宽 例如:三个DDoS高防实例,保底防护带宽均为20Gbps,弹性防护带宽规格为100Gbps。三个实例当日遭受多次DDoS攻击,弹性防护带宽计费规则如下。 表1 计费规则 实例 攻击峰值 是否产生费用 说明 实例A 20Gbps 否 攻击峰值未超过保底防护带宽,不计费。 实例B 80Gbps 是 计费防护带宽:80Gbps-20Gbps=60Gbps。 实例C 120Gbps 是 120Gbps大于弹性防护带宽100Gbps。 计费防护带宽:100Gbps-20Gbps=80Gbps。
  • 什么是密钥管理? 密钥管理,即密钥管理服务(Key Management Service, KMS),是一种安全、可靠、简单易用的密钥托管服务,帮助您轻松创建和管理密钥,保护密钥的安全。 KMS通过使用硬件安全模块HSM(Hardware Security Module, HSM)保护密钥的安全,所有的用户密钥都由HSM中的根密钥保护,避免密钥泄露。并且HSM模块满足FIPS 140-2 Level 3安全要求。 KMS对密钥的所有操作都会进行访问控制及日志跟踪,提供所有密钥的使用记录,满足审计和合规性要求。 父主题: 密钥管理类
  • KPS支持的密码算法 通过管理控制台创建的SSH密钥对支持的加解密算法为: SSH-ED25519 ECDSA-SHA2-NISTP256 ECDSA-SHA2-NISTP384 ECDSA-SHA2-NISTP521 SSH_RSA有效长度为:2048,3072,4096 通过外部导入的SSH密钥对支持的加解密算法为: SSH-DSS SSH-ED25519 ECDSA-SHA2-NISTP256 ECDSA-SHA2-NISTP384 ECDSA-SHA2-NISTP521 SSH_RSA有效长度为:2048,3072,4096
  • 什么是用户主密钥? 用户主密钥(Customer Master Key,CMK),是用户或云服务通过密钥管理创建的密钥,是一种密钥加密密钥,主要用于加密并保护数据加密密钥。一个用户主密钥可以加密多个数据加密密钥。 用户主密钥分为自定义密钥和默认密钥。 自定义密钥 用户通过密钥管理界面自行创建或导入的密钥。 默认密钥 在用户第一次通过对应云服务使用KMS加密时,云服务自动通过密钥管理为用户创建的密钥,其别名后缀为“/default”。 默认密钥可通过密钥管理界面进行查询,不支持禁用、计划删除操作。 表1 默认主密钥列表 密钥别名 对应云服务 obs/default 对象存储服务(Object Storage Service,OBS) evs/default 云硬盘(Elastic Volume Service,EVS) ims/default 镜像服务(Image Management Service,IMS) kps/default 密钥对管理服务(Key Pair Service,KPS) csms/default 云凭据管理服务(Cloud Secret Management Service,CSMS) 父主题: 密钥管理类
  • 默认密钥如何生成? 默认密钥是自动生成的。 在用户第一次通过对应云服务使用KMS加密时,云服务自动通过密钥管理为用户创建的密钥,其别名后缀为“/default”。 默认密钥可通过密钥管理界面进行查询,不支持禁用、计划删除操作。 默认密钥托管不计费,仅收取API请求次数费用,超出免费请求次数后,超出部分会进行计费。 表1 默认主密钥列表 密钥别名 对应云服务 obs/default 对象存储服务(Object Storage Service,OBS) evs/default 云硬盘(Elastic Volume Service,EVS) ims/default 镜像服务(Image Management Service,IMS) kps/default 密钥对管理服务(Key Pair Service,KPS) csms/default 云凭据管理服务(Cloud Secret Management Service,CSMS) 父主题: 密钥管理类
  • 各异常事件的根因分析 应用服务整体平均响应时间突增:基于应用的调用链数据,针对应用粒度提供下钻分析,分析应用下每个组件的平均时延以快速定位根因,找到导致应用整体RT突增的具体组件。 图1 应用服务整体平均响应时间突增 应用服务整体错误率突增:基于应用的调用链数据,针对应用粒度提供下钻分析,分析应用下每个组件的错误率以快速定位根因,下钻到应用下具体组件的错误率异常。单击“查看调用链”,可详细追踪错误率突增的原因。 图2 应用服务整体错误率突增 TopN接口平均响应时间突增:基于应用的调用链数据,针对接口粒度提供调用链响应时间分析,快速定位根因。 图3 TopN接口平均响应时间突增 TopN接口错误率突增:基于应用的调用链数据,针对接口粒度提供调用链错误率分析,快速定位根因。单击“查看调用链”,可详细追踪错误率突增的原因。 图4 TopN接口错误率突增
共100000条