华为云用户手册

  • 清理托管证书 您也可以在页面对托管证书进行删除操作。 注意事项 清理托管证书,该托管证书将从服务器端删除,不会泄露您的相关隐私。 已关联加速 域名 的托管证书不能清理,请先关闭HTTPS安全配置。 如果您需要再次使用托管证书,请从SSL证书管理中重新推送至CDN。 操作步骤 单击“清理托管证书”。 在弹出页面选择您需要清理的证书,单击“确定”,完成托管证书清理。 如果您需要再次使用托管证书,请从SSL证书管理中重新推送至CDN
  • 注意事项 部分头部不支持自助设置/删除,具体清单请参见限制条件。 HTTP响应头配置规则最多可配置10条。 由于HTTP header配置是针对域名,因此一旦配置生效,用户对该域名下任意一个资源的响应消息中均会加入所配置的消息头。HTTP响应消息头配置仅会影响客户端(浏览器)的响应行为,不影响CDN节点的缓存行为。 如果加速域名在CDN侧配置了跨域规则,请确保源站配置了同样的规则。如果您的域名源站是OBS桶域名,请前往OBS侧配置跨域资源共享。
  • 支持配置的响应头 华为云CDN支持以下几种HTTP响应消息头进行自定义取值。 Content-Disposition Content-disposition消息头用来激活客户端下载并指定所下载文件的名称。 服务端向客户端浏览器发送的文件,如果是浏览器支持的文件类型(如txt、jpg等),则默认使用浏览器打开。如果该文件需要用户以附件形式下载并保存为指定名称的文件,则可通过配置Content-disposition消息头实现。 如果您使用了2022年1月1日以后创建的OBS桶作为源站,并且需要支持在线预览功能,您要设置“Content-Disposition”的值为“inline”,详见如何在浏览器中在线预览OBS中的对象?。 Content-Language Content-Language消息头用来指明向客户页面端提供的用户偏好语言或语言组合,可以为不同身份用户定制不同的内容。 Access-Control-Allow-Origin Access-Control-Allow-Origin响应头携带了服务端验证后允许的跨域请求域名。对于简单跨域请求而言,浏览器经此消息头可以确认是否返回所请求的资源内容给客户端。对于预检请求而言,浏览器经此消息头可以确认是否可以向服务端发起真正的跨域请求。 为防止因浏览器缓存导致报跨域错误,跨域请求头“Access-Control-Allow-Origin”配置完成后,请您及时清理浏览器缓存。 Access-Control-Allow-Methods Access-Control-Allow-Methods响应头携带了服务端验证后允许的跨域请求方法。对于简单跨域请求而言,浏览器经此消息头可以确认是否返回所请求的资源内容给客户端。对于预检请求而言,浏览器经此消息头可以确认是否可以向服务端发起真正的跨域请求。 Access-Control-Max-Age Access-Control-Max-Age响应头携带了服务端允许的跨域预检请求结果允许缓存的时间。浏览器经此消息头可以确认预检请求结果的缓存时间,在缓存有效期内,浏览器可以使用缓存的预检请求结果判断是否向服务端发起跨域请求。缓存的预检请求结果过期后,下次请求时浏览器需再次向服务端发送预检请求。 Access-Control-Expose-Headers Access-Control-Expose-Headers用于指定浏览器可以暴露给客户端的响应消息头。您可以通过配置Access-Control-Expose-Headers自定义客户端可见的响应消息头。浏览器默认客户端可见的响应头有:Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma。 自定义响应头 如果上述响应头不能满足您的业务需求,CDN支持自定义响应头配置,支持以字母开头,字母、数字和短横杠(-)组合,长度1~100以内的自定义响应头名称。
  • 限制条件 如果您的后台存在特殊配置,暂不支持配置Content-Type、Expires、Cache-Control、Vary。 以下响应头仅支持修改响应头,不支持将“响应头操作”类型设置为“删除”: Content-Base Content-Type Server Content-Language Cache-Control Expires CDN暂不支持以下响应头配置: a_dynamic upgrade content-md5 accept-ranges meter content-range keep-alive www-authenticate date allow proxy-authenticate range set-cookie connection etag authentication-info content-encoding retry-after last-modified proxy-authorization error location content-length if-modified-since transfer-encoding content-location host
  • RDS for MySQL 5.6 表3 云数据库 RDS for MySQL 5.6版本说明 日期 特性描述 2024-10-28 5.6.51版本更新以下内容: 修复问题 回合开源社区row_search_mvcc函数崩溃Bug导致数据库实例崩溃问题。详见社区Bug #96610。 优化XA事务在commit后长事务的计算问题。 2023-09-01 5.6.51版本更新以下内容: 新特性及性能优化 优化了SQL限流功能。 修复问题 修复了社区审计日志线程挂住的问题。 2023-03-15 5.6.51版本更新以下内容: 新特性及性能优化 优化了超大SQL审计日志的打印。 强化了日志打印的安全性。 修复问题 修复参考表添加索引与另一张表添加外键并发执行时可能出现的复制异常。 2022-09-09 新特性及性能优化 KILL会话支持per thread连接方式。 修复问题 修复开启proxy可能导致的异常重启。 修复main.proxy_connect缓冲区溢出。 修复插件可能内存申请失败导致的异常重启。 2022-06-01 修复社区innodb_row_lock_current_waits统计不准确的问题。 2021-08-07 新特性 支持数据库添加备注功能。 系统库防止被DDL修改。 升级openssl,jemalloc开源组件。 修复问题 修复修改密码可能会导致同步断开的问题。 修复审计日志错误写入其他文件的问题。 2021-04-13 修复由于回放保序导致备机小概率复制中断的问题。 内核版本升级到5.6.51。 安全加固 社区MySQL 5.6版本补丁不再发布,该版本的漏洞补丁服务也不再发布。 2021-01-26 新特性 支持在代理情况下显示真实的客户端地址。 修复问题 修复执行select 1 for update报语法错误问题。 全量SQL采集性能优化。 2020-12-31 重构SQL限流功能,提高易用性。 2020-11-06 内核版本升级到5.6.50。 2020-09-23 支持SQL限流,业务高峰期可以限制特定SQL的执行频率。 2020-08-03 内核版本升级到5.6.49。 2020-07-09 支持本地盘磁盘日志切换。 支持在错误日志中记录用户的操作历史。 2020-05-30 bufferpool内存初始化模块优化,提高初始化效率。 2020-04-30 修复用户低概率连接数据库失败问题。 2020-03-30 支持全量SQL采集功能。 编译器升级到7.3。 内核版本升级到5.6.47。 2020-02-15 复制双通道:新增复制状态通道,准确判断主库崩溃时的复制状态。确保事务不丢失。 Optimized ROW_IMAGE模式:缩减binlog大小,同时支持迁移,SQL闪回等场景。 2019-12-15 长事务:通过show processlist获取事务的执行时间Trx_Executed_Time。 Online扩展String字段长度:扩展VARCHAR类型字段长度从COPY模式默认变为INPLACE模式。详见在线扩展varchar类型字段。 InnoDB死锁信息丰富:通过show engine innodb status命令可以观察到InnoDB层死锁发生时完整的现场信息。 2019-10-15 内核版本升级到5.6.45。 用户线程内存使用信息、CPU时间使用信息,用户通过show full processlist进行查询。 KILL空闲事务:通过设置超时时间,自动KILL长时间空闲事务。详见主动终止空闲事务。 2019-08-15 Jemalloc内存管理:替换Glibc内存管理模块,降低内存占用,内存分配效率更高效。 2019-06-15 内核版本升级到5.6.43。 支持审计功能。 2019-05-15 修复特定场景主备复制时延“Seconds_Behind_Master”不准确的问题。 修复“SQL_MODE”为“PAD_CHAR_TO_FULL_LENGTH”时的主备复制异常问题。 2019-01-15 修复只读执行flush操作后导致主备不一致,复制中断的问题。 修复REPAIR,OPTIMIZE等语句导致备机复制线程卡住问题。 修复grant select(column_name) 语句复制线程报错问题。 2018-11-15 内核版本升级到5.6.41。 GTID开启时支持事务中创建和删除临时表。 支持表级别MTS并行回放。 2018-07-15 新特性 内核版本升级到5.6.40。 支持线程池。详见连接线程池。 支持 CTS 语法:支持create table xx select语法。 修复以下问题 修复binlog和relay log名依赖PID文件名的问题。 修复“relay_log_basename”变量空指针导致备机卡住的问题。 修复force index语法在group_by xx order_by xx limit n1,n2 场景下失效的问题。
  • RDS for MySQL 5.7 表2 云数据库 RDS for MySQL 5.7版本说明 日期 特性描述 2024-10-28 5.7.44版本更新以下内容: 修复问题 解决SQL限流功能的一些Bug。 2024-04-11 内核版本升级到5.7.44。 具体修改点同社区版一致,详见社区5.7.44版本发布说明。 安全加固 解决安全漏洞:CVE-2023-22028、CVE-2023-22084、CVE-2023-38545。 2023-12-01 新特性及性能优化 升级到5.7.43版本。 SQL限流功能变化:所有账户当前都会被限流(之前的行为:对root不限流);如需设定不限流的账户请联系客服。 新增information_schema.rds_sql_filter_info,可以查看SQL限流功能的当前并发数和历史拦截数。 修复问题 修复了社区审计日志插件不记录prepare协议语句的问题。 安全加固 解决安全漏洞:CVE-2022-43551、CVE-2023-21912、CVE-2023-21980、CVE-2023-22007、CVE-2023-22015、CVE-2023-22026、CVE-2023-22053。 2023-09-01 5.7.41版本更新以下内容: 新特性及性能优化 优化了SQL限流功能。 优化了jemalloc组件释放内存缓慢,导致OOM的行为。 修复问题 修复了社区审计日志内存泄漏、线程挂住的问题。 修复了社区间隙锁范围过大的问题。 2023-06-28 新特性及性能优化 升级到5.7.41版本。 增加安全编译选项。 修复问题 修复参考表添加索引与另一张表添加外键并发执行时可能出现的复制异常。 修复删除外键表后再删除子表时可能出现的复制异常。 安全加固 解决安全漏洞:CVE-2023-21963、CVE-2022-32221、CVE-2023-21840、CVE-2022-2097、CVE-2022-21617、CVE-2022-21608、CVE-2022-21592、CVE-2022-21589、CVE-2022-1292、CVE-2022-27778、CVE-2018-25032、CVE-2022-21515。 2022-09-09 新特性及性能优化 升级到5.7.38版本。 升级编译器到GCC 10.3。 KILL会话支持per thread连接方式。 慢日志的阈值可考虑等锁耗时。 ALT功能安全加固。 修复问题 增强分布式XA事务主库崩溃恢复安全。 修复开启proxy可能导致的异常重启。 修复插件可能内存申请失败导致的异常重启。 安全加固 解决安全漏洞:CVE-2022-21454、CVE-2022-21417、CVE-2022-21427、CVE-2022-21451、CVE-2022-21444、CVE-2022-21460。 2022-06-01 新特性及性能优化 内核版本升级到5.7.37。 升级编译器到GCC 9.3。 升级openssl、curl开源组件。 修复问题 修复单个超大Binlog可能导致的复制中断问题。 修复slave并发回放grant可能导致的异常重启的问题。 修复隐藏自增键可能导致的复制中断问题。 修复虚拟字段表在ROLLBACK时可能异常重启的问题。 修复加密表在recovery异常重启问题。 修复Seconds Behind Master特定场景不准确问题。 安全加固 解决安全漏洞:CVE-2022-21367、CVE-2022-21304、CVE-2022-21344。 2022-01-26 新特性及性能优化 支持隐藏自增键特性。 修复问题 修复XA事务重复提交可能导致复制异常问题。 修复社区innodb_row_lock_current_waits统计不准确的问题。 2021-11-26 新特性及性能优化 全量SQL放开单条记录长度限制。 RDS for MySQL透明应用连续性(ALT)特性第一期。 修复问题 修复线程池极端场景的内存问题。 修复XA事务备机回放概率性卡住。 2021-08-07 新特性及性能优化 线程池静态连接,提高性能。 开启PGO(Profile-Guided Optimization)编译优化。 优化MySQL HASH算法。 支持数据库添加备注功能。 系统库防止被DDL修改。 在errlog中提供IO延迟信息。 支持minidump。 内核版本升级到5.7.33。 升级openssl,jemalloc,curl开源组件。 修复问题 修复由于回放保序导致备机小概率复制中断的问题。 修复XA事务在binlog rotate后可能异常重启的问题。 修复全量SQL可能存在未记录预编译SQL操作类型的问题。 修复flush privieges操作的executed time统计错误的问题。 修复审计日志错误写入其他文件的问题。 安全加固 解决安全漏洞:CVE-2021-2011、CVE-2021-2178、CVE-2021-2202。 2021-04-13 修复XA事务在数据库异常重启后可能发生丢失的问题。 优化自适应HASH分割算法。 内核版本升级到5.7.32。 2021-01-26 新特性 支持在代理情况下显示真实的客户端地址。 修复问题 全量SQL采集性能优化。 修复revoke权限可能导致主备权限不一致的问题。 回合8.0中对Instant add column的优化。 2020-12-31 性能优化 优化慢日志额外信息的采集效率。 升级编译器至GCC 9。 修复问题 修复XA事务回滚可能会导致备机复制中断问题。 2020-12-01 减少fil_sys互斥锁之间的冲突频率。 2020-11-06 新特性 内存申请编译器优化。 添加utf8优化对非ARM平台的支持。 修复问题 修复微秒计时器中gettimeofday多线程导致计时错误问题。 2020-09-21 内核版本升级到5.7.31。 支持SQL限流,业务高峰期可以限制特定SQL的执行频率。 2020-08-03 优化内核性能。 支持回收站。 增强本地盘清理数据可靠性。 2020-07-09 优化内核性能。 支持在错误日志中记录用户的操作历史。 提高XA事务的稳定性。 2020-06-30 优化内核性能。 支持本地盘磁盘日志切换。 bufferpool内存初始化模块优化,提高初始化效率。 提升ARM上部分操作的线程安全性。 2020-05-30 新特性 支持index hint功能。 支持抓取全量SQL日志。 修复以下问题 修复用户低概率连接数据库失败问题。 2020-04-30 优化内核性能。 2020-03-30 内核版本升级到5.7.29。 优化内核性能。 支持线程池统计IO waits事件。 2020-02-15 复制双通道:新增复制状态通道,准确判断主库崩溃时的复制状态,确保事务不丢失。 Optimized ROW_IMAGE模式:缩减binlog大小,同时支持迁移,SQL闪回等场景。 2019-12-15 DDL操作进度:通过“information_schema.innodb_alter_table_progress”获取添加列或添加索引操作的进度信息。详见DDL进度显示。 长事务:通过show processlist获取事务的执行时间Trx_Executed_Time。 Online扩展string字段长度:扩展varchar类型字段长度从COPY模式默认变为INPLACE模式。详见在线扩展varchar类型字段。 InnoDB死锁信息丰富:通过show engine innodb status可以观察到InnoDB层发生死锁情况时完整的现场信息。 2019-10-15 性能优化 ARM内核版本上线,该内核基于华为云鲲鹏服务器。 新特性 内核版本升级到5.7.27。 快速加列:表可以快速添加列,不拷贝数据,不占用磁盘空间和磁盘IO,业务高峰期可以实时变更。 MDL锁视图:通过“information_schema.metadata_lock_info”获取线程持有或等待的MDL锁信息。详见MDL锁视图。 2019-08-15 Jemalloc内存管理:替换Glibc内存管理模块,降低内存占用,内存分配效率更高效。 2019-06-15 内核版本升级到5.7.25。 2019-05-15 新特性 备库安全极速模式:在备库“sync_binlog”和“innodb_flush_log_at_trx_commit”为非1配置下,保证备库crash safe数据安全。sysbench高并发纯写模式下,主备复制延迟一直基本为0。 修复以下问题 修复“relay_log_recovery ”=“ON”时,特定场景Kill备库后无法重启的问题。 修复“SQL_MODE”为“PAD_CHAR_TO_FULL_LENGTH”时,主备复制异常的问题。 修复“performance_schema”重复统计错误的问题。 修复对“Performance_schema”中关于复制信息的表进行order by查询时,返回为空的问题。 2019-01-15 修复只读执行flush操作后导致主备不一致,复制中断的问题。 修复REPAIR,OPTIMIZE等语句导致备机复制线程卡住问题。 2018-11-15 内核版本升级到5.7.23。 GTID开启时支持事务中创建和删除临时表。 支持表级别MTS并行回放。 2018-07-15 内核版本升级到5.7.22。 支持线程池。详见连接线程池。 支持CTS语法:支持create table xx select语法。 算子下推:聚合算子下推到存储引擎层,提升count(),sum()执行速度。 KILL空闲事务:通过设置超时时间,自动KILL长时间空闲事务。详见主动终止空闲事务。 用户线程内存使用信息、CPU时间使用信息,用户通过show full processlist进行查询。
  • RDS for MySQL 8.0 表1 云数据库 RDS for MySQL 8.0版本说明 日期 特性描述 2024-10-28 8.0.32版本更新以下内容: 修复问题 优化statement outline,支持explain analyze语句。 解决8.0.28.x社区版本死锁问题。 解决SQL限流功能的一些Bug。 2024-06-18 8.0.28版本更新以下内容: 修复问题 修复因会话引入LOCK_thd_security_ctx锁,而导致执行SHOW PRO CES SLIST语句时可能出现死锁的问题。详见社区Bug#32320541。 2024-05-23 内核版本升级到8.0.32。 新特性及性能优化 MySQL 8.0的动态权限功能允许SUPER用户向其他用户动态授予高级管理权限,例如SESSION_VARIABLES_ADMIN和SYSTEM_VARIABLES_ADMIN等。此版本支持通过内核能力禁用用户为自身赋予可能导致实例异常的危险权限。 对表进行加减列时,默认算法支持由INSTANT更改为INPLACE或COPY算法。 修复问题 具体修改点同社区版一致,详见社区8.0.32版本发布说明。 说明: 如需升级到8.0.32版本,请联系客服申请。 8.0.32版本由于社区引入Instant col特性导致在一些场景下存在性能劣化,详见社区bug111538。 安全加固 解决安全漏洞:CVE-2018-25032、CVE-2021-22570、CVE-2022-21412、CVE-2022-21413、CVE-2022-21414、CVE-2022-21415、CVE-2022-21417、CVE-2022-21418、CVE-2022-21423、CVE-2022-21425、CVE-2022-21427、CVE-2022-21435、CVE-2022-21436、CVE-2022-21437、CVE-2022-21438、CVE-2022-21440、CVE-2022-21444、CVE-2022-21451、CVE-2022-21452、CVE-2022-21455、CVE-2022-21459、CVE-2022-21460、CVE-2022-21462、CVE-2022-21478、CVE-2022-21479、CVE-2022-21509、CVE-2022-21515、CVE-2022-21517、CVE-2022-21522、CVE-2022-21525、CVE-2022-21526、CVE-2022-21527、CVE-2022-21528、CVE-2022-21529、CVE-2022-21530、CVE-2022-21531、CVE-2022-21534、CVE-2022-21537、CVE-2022-21538、CVE-2022-21539、CVE-2022-21547、CVE-2022-21553、CVE-2022-21556、CVE-2022-21569、CVE-2022-21592、CVE-2022-21594、CVE-2022-21599、CVE-2022-21604、CVE-2022-21605、CVE-2022-21607、CVE-2022-21608、CVE-2022-21611、CVE-2022-21617、CVE-2022-21625、CVE-2022-21632、CVE-2022-21633、CVE-2022-21635、CVE-2022-21637、CVE-2022-21638、CVE-2022-21640、CVE-2022-21641、CVE-2022-27778、CVE-2022-32221、CVE-2022-39400、CVE-2022-39402、CVE-2022-39403、CVE-2022-39408、CVE-2022-39410、CVE-2023-21836、CVE-2023-21863、CVE-2023-21864、CVE-2023-21865、CVE-2023-21866、CVE-2023-21867、CVE-2023-21868、CVE-2023-21869、CVE-2023-21870、CVE-2023-21871、CVE-2023-21872、CVE-2023-21873、CVE-2023-21874、CVE-2023-21875、CVE-2023-21876、CVE-2023-21877、CVE-2023-21878、CVE-2023-21879、CVE-2023-21880、CVE-2023-21881、CVE-2023-21882、CVE-2023-21883、CVE-2023-21887、CVE-2023-21912、CVE-2023-21913、CVE-2023-21917、CVE-2023-21963、CVE-2023-22015、CVE-2023-22026、CVE-2023-22028、CVE-2023-22084。 2023-12-01 8.0.28版本更新以下内容: 新特性及性能优化 SQL限流功能变化:所有账户当前都会被限流(之前的行为:对root不限流);如需设定不限流的账户请联系客服。 新增information_schema.rds_sql_filter_info,可以查看SQL限流功能的当前并发数和历史拦截数。 修复问题 修复了社区审计日志插件不记录prepare协议语句的问题。 2023-09-01 内核版本升级到8.0.28。 新特性及性能优化 优化了SQL限流功能。 优化了大文件异步Purge的性能。 修复问题 引入社区8.0.28版本的bugfix,详见社区8.0.28版本发布说明。 修复了社区并行DDL导致的数据不一致问题。 修复了社区审计日志内存泄漏、线程挂住的问题。 安全加固 解决安全漏洞:CVE-2019-17543、CVE-2020-1971、CVE-2021-22901、CVE-2021-22922、CVE-2021-22923、CVE-2021-22924、CVE-2021-22925、CVE-2021-22926、CVE-2021-22945、CVE-2021-22946、CVE-2021-22947、CVE-2021-2339、CVE-2021-2340、CVE-2021-2342、CVE-2021-2352、CVE-2021-2354、CVE-2021-2356、CVE-2021-2357、CVE-2021-2367、CVE-2021-2370、CVE-2021-2372、CVE-2021-2374、CVE-2021-2383、CVE-2021-2384、CVE-2021-23841、CVE-2021-2385、CVE-2021-2387、CVE-2021-2389、CVE-2021-2390、CVE-2021-2399、CVE-2021-2402、CVE-2021-2410、CVE-2021-2412、CVE-2021-2417、CVE-2021-2418、CVE-2021-2422、CVE-2021-2424、CVE-2021-2425、CVE-2021-2426、CVE-2021-2427、CVE-2021-2429、CVE-2021-2437、CVE-2021-2440、CVE-2021-2441、CVE-2021-2478、CVE-2021-2479、CVE-2021-2481、CVE-2021-3449、CVE-2021-35537、CVE-2021-35546、CVE-2021-35575、CVE-2021-35577、CVE-2021-35583、CVE-2021-35591、CVE-2021-35596、CVE-2021-35602、CVE-2021-35604、CVE-2021-35607、CVE-2021-35610、CVE-2021-35612、CVE-2021-35622、CVE-2021-35623、CVE-2021-35624、CVE-2021-35625、CVE-2021-35626、CVE-2021-35627、CVE-2021-35628、CVE-2021-35629、CVE-2021-35630、CVE-2021-35631、CVE-2021-35632、CVE-2021-35633、CVE-2021-35634、CVE-2021-35635、CVE-2021-35636、CVE-2021-35637、CVE-2021-35638、CVE-2021-35639、CVE-2021-35640、CVE-2021-35641、CVE-2021-35642、CVE-2021-35643、CVE-2021-35644、CVE-2021-35645、CVE-2021-35646、CVE-2021-35647、CVE-2021-35648、CVE-2021-3711、CVE-2022-0778、CVE-2022-21245、CVE-2022-21249、CVE-2022-21253、CVE-2022-21254、CVE-2022-21264、CVE-2022-21265、CVE-2022-21278、CVE-2022-21297、CVE-2022-21301、CVE-2022-21302、CVE-2022-21303、CVE-2022-21304、CVE-2022-21339、CVE-2022-21342、CVE-2022-21344、CVE-2022-21348、CVE-2022-21351、CVE-2022-21352、CVE-2022-21358、CVE-2022-21362、CVE-2022-21367、CVE-2022-21368、CVE-2022-21370、CVE-2022-21372、CVE-2022-21374、CVE-2022-21378、CVE-2022-21595、CVE-2022-21600、CVE-2023-21950。 2023-03-15 8.0.25版本更新以下内容: 新特性及性能优化 优化了超大SQL审计日志的打印。 强化了内核日志打印的安全性。 修复问题 修复并发实例DDL和DML操作可能导致异常重启问题。用户不再有权限赋予connection_admin权限。 2022-09-09 8.0.25版本更新以下内容: 新特性及性能优化 KILL会话支持per thread连接方式。 Performance Schema使用增加内存限制。 优化特定场景下全量SQL的性能。 优化特定场景下internal_tmp_mem_storage_engine为memory引擎的性能问题。 升级编译器到GCC 10.3。 修复问题 修复临时文件写入可能报错的问题。 修复CTE查询返回结果不符合预期的问题。 安全加固 解决安全漏洞:CVE-2021-2417、CVE-2021-2339、CVE-2021-2425、CVE-2021-2426、CVE-2021-2427、CVE-2021-2424、CVE-2021-2383、CVE-2021-2384、CVE-2021-2410。 2022-06-01 新特性及性能优化 内核版本升级到8.0.25。 支持SQL限流。 升级编译器到GCC 9.3。 修复问题 修复单个超大Binlog可能导致的复制中断问题。 修复社区innodb_row_lock_current_waits统计不准确的问题。 修复使用blob字段可能导致的异常重启问题。 安全加固 解决安全漏洞:CVE-2021-2307、CVE-2021-2180、CVE-2021-2194。 2021-08-07 新特性及性能优化 线程池静态连接,提高性能。 开启PGO(Profile-Guided Optimization)编译优化。 优化MySQL HASH算法。 支持数据库添加备注功能。 系统库防止被DDL修改。 添加参数innodb_total_tablespaces用于统计innodb表空间数量。 在i_s中提供innodb锁视图。 升级openssl,jemalloc,curl开源组件。 修复问题 修复XA事务在binlog rotate后可能异常重启的问题。 修复全量SQL未记录预编译SQL操作类型的问题。 修复flush privieges操作的executed time统计错误的问题。 修复审计日志错误写入其他文件的问题。 2021-04-13 修复XA事务在数据库异常重启后可能发生丢失的问题。 优化自适应HASH分割算法。 内核版本升级到8.0.21。 安全加固 解决安全漏洞:CVE-2020-14697、CVE-2020-14680、CVE-2020-14678、CVE-2020-14663、CVE-2021-2020、CVE-2020-14619、CVE-2020-14591、CVE-2020-14576、CVE-2020-14539。 2021-01-26 SQL限流特性性能优化。 全量SQL采集性能优化。 2020-12-31 性能优化 升级编译器到GCC 9。 2020-12-01 性能优化 优化慢日志额外信息的采集效率。 修复以下问题 修复XA事务回滚可能会导致备机复制中断问题。 2020-11-06 修复问题 修复微秒计时器中gettimeofday多线程导致计时错误问题。 2020-09-21 支持在错误日志中记录详细的连接断开信息。 支持index hint功能。 2020-08-03 显示大事务执行时间和等待时间。 为管理用户使用独立的连接控制。 支持SQL限流,业务高峰期可以限制特定SQL的执行频率。 优化内核性能。 2020-06-19 内核版本升级到8.0.20。 优化内核性能。 2020-02-15 RDS for MySQL 8.0版本正式商用。 ARM内核版本上线,该内核基于华为云鲲鹏服务器。 2019-12-15 内核版本升级到8.0.17。 并行创建索引:并行创建索引速度最快提升2.5倍。 2019-10-15 修复“SQL_MODE”为“PAD_CHAR_TO_FULL_LENGTH”时的主备复制异常问题。 2019-09-15 支持线程池。详见连接线程池。 升级Openssl版本至1.1.1a。 支持CTS语法:支持create table xx select语法。 用户线程内存使用信息、CPU时间使用信息,您可以通过show full processlist进行查询。
  • 审计 云审计 服务(Cloud Trace Service,CTS),是华为 云安全 解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务并创建和配置追踪器后,CTS可记录OCR的管理事件和数据事件用于审计。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。 CTS支持追踪的OCR管理事件列表,请参见审计。 父主题: 安全
  • 数据保护技术 OCR服务处理以下类型的数据: OCR输入数据,包括图像(PNG、JPG 、JPEG和 BMP等)和文档(PDF 和 TIFF等)。 OCR结果,包括从客户图像和文档中提取的文本及其位置以及置信度等。 OCR通过多种数据保护手段和特性,保障客户在使用OCR服务时数据安全。 表1 OCR的数据保护手段和特性 数据保护手段 说明 传输加密(HTTPS) OCR支持HTTPS传输协议,采用华为云官网标准网关,数据传输过程有全链路安全保障。API网关支持TLS 1.1及TLS 1.2版本,推荐您使用更加安全的TLS 1.2版本。 数据存储 华为云OCR承诺数据不落盘,用户的原始图片和识别结果数据均不作保留,识别返回后立即释放。 父主题: 安全
  • 身份认证 用户访问OCR的方式有多种,包括OCR控制台、API、SDK,无论访问方式封装成何种形式,其本质都是通过OCR提供的REST风格的API接口进行请求。 OCR的接口有如下两种认证方式,您可以选择其中一种进行认证鉴权。 Token认证:通过Token认证调用请求。 AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。经过认证的请求总是需要包含一个签名值,该签名值以请求者的访问密钥(AK/SK)作为加密因子,结合请求体携带的特定信息计算而成。通过访问密钥(AK/SK)认证方式进行认证鉴权,即使用Access Key ID(AK)/Secret Access Key(SK)加密的方法来验证某个请求发送者身份。关于访问密钥的详细介绍及获取方式,请参见认证鉴权。
  • 访问控制 OCR支持通过权限控制( IAM 权限)进行访问控制。 表1 表1 OCR访问控制 访问控制方式 简要说明 权限控制 IAM权限 IAM权限是作用于云资源的,IAM权限定义了允许和拒绝的访问操作,以此实现云资源权限访问控制。管理员创建IAM用户后,需要将用户加入到一个用户组中,IAM可以对这个组授予OCR所需的权限,组内用户自动继承用户组的所有权限。 委托授权 如果用户想使用存储在 对象存储服务 (OBS)上的数据,他可以委托授权OCR服务访问对象存储服务。
  • 行业类 电子面单 识别各类快递公司的电子面单主要信息,包含三段码、收寄件人姓名电话地址及条形码运单号,快速提取信息,提高信息录入效率。 保险单 支持多版式的保险单关键信息,支持寿险险种,识别主要投保信息包括保险单号、保险公司、投保人与被投保人姓名,性别,出生日期,证件类型、证件号等。可用于保险报销和信息录入场景。 财务报表 识别财报内有线表格、无线表格以及其他文本信息,结合版式分类,科目抽取、公式校验等功能,协助进一步实现财报数据精准分析,可支持资产负债表、利润表和现金流量表。 父主题: 功能介绍
  • 功能介绍 增值税发票识别 通过对增值税发票图片预处理、表格提取、文字提取、 文字识别 、结构化信息输出等一系列技术化手段,快速将增值税发票上的文字信息识别出来,用于后续的进一步处理,节省大量的人工录入成本。 机动车销售发票识别 自动识别机动车销售发票图片内的文本内容,并返回结构化字段信息,用于后续的进一步处理,节省大量的人工录入成本。 飞机行程单识别 自动识别飞机行程单的全部信息,一次扫描即可识别旅客姓名、有效身份证件号码、订单号、票价等全部信息。 定额发票识别 自动识别定额发票的全部信息,一次扫描即可识别发票号码、发票代码、地址、发票金额等全部信息。 火车票识别 自动识别火车票的全部信息,一次扫描即可识别一张车票的ID、检票口信息、车次等全部信息。 出租车发票识别 自动识别出租车发票的全部信息,一次扫描即可识别归属地区、发票代码、发票号码、电话(包括电话、监督电话)等全部信息。 车辆通行费发票识别 自动识别车辆通行费发票的全部信息,一次扫描即可识别发票代码、发票号码、入口、出口、收费金额、收费员、车辆类型、日期、时间等主要信息。
  • 功能介绍 身份证识别 自动识别身份证上的全部信息,支持身份证正反面识别,一次扫描即可识别身份证号码、姓名、地址等全部信息。 户口本识别 自动识别居民户口本户主页及成员页,并返回部分关键字段信息。 驾驶证识别 自动识别驾驶证正页与副页上的全部信息,自动提取出姓名、性别、领证日期、准驾车型、有效期限、档案编号等结构化信息。 行驶证识别 自动识别行驶证正页与副页上的全部信息,自动提取出号牌号码、车辆类型、所有人、使用性质、品牌型号、车辆识别代号、发动机号码、注册日期、档案编码、核定载人数、总质量、整备质量、核定载质量、外廓尺寸、准牵引总质量、备注、检验记录、条码号等结构化信息。 护照识别 针对中国护照,可识别护照上的全部信息;针对其他国家护照,可根据两行国际标准化的机读码识别出6-7个关键字段信息,包括姓名、性别、出生日期、护照号码、签发国国家码、护照有效期等。 营业执照识别 识别营业执照中的公司名称、注册号、法人代表、地址、注册资本、营业期限、经营范围等字段。 银行卡识别 自动识别银行卡正面的信息,识别信息包括卡片类型(借记卡或信用卡)、银行卡卡号、有效日期、发卡行、持卡人姓名(限信用卡)。省去手动录入过程。 道路运输证识别 自动识别道路运输证的全部信息,一次扫描即可识别业户名称、道路运输证号、车辆号牌、车辆类型等全部信息。 车牌识别 自动识别图片中的车牌信息。 名片识别 自动识别名片中的信息,识别信息包括姓名、职位头衔、公司、部门、联系方式、地址、邮箱、传真、邮编、公司网址等信息,并将识别结果返回给用户。 VIN码识别 自动识别图片上的车架号信息。 泰文身份证识别 自动识别身份证上的全部信息,一次扫描即可识别身份证号码、姓名、地址等全部信息。 泰国车牌识别 识别泰国车牌图片中的车牌信息,返回识别结果和车牌的区域位置信息。
  • 功能介绍 通用 表格识别 提取表格内的文字和所在行列位置信息,适应不同格式的表格。同时也识别表格外部的文字区域。用于各种单据和报表的电子化,恢复结构化信息。 通用文字识别 提取图片内的文字及其对应位置信息,并能够根据文字在图片中的位置进行结构化整理工作。 手写文字识别 识别文档中的手写文字信息,并将识别的结构化结果返回给用户。 网络图片识别 自动识别网络图片内的所有文字及其对应位置信息,如果图片包含联系人信息,也支持联系人信息的提取,同时可供进一步的数据挖掘后处理操作。 印章识别 检测和识别合同文件或常用票据中的印章,并可擦除和提取图片中的印章,通过JSON格式返回印章检测、识别、擦除和提取的结果。
  • 优势 超级API 支持对各类卡证和票据的单张图像识别,也支持多种卡证票据的任意组合混贴场景的分类识别。 调用更加便捷 直接统一调用一个API即可完成对各种卡、证、票的识别,无需在调用时判断图像类型,也不用再对每种数据分别调用不同的API,降低了集成使用的复杂度。 价格更优惠 价格详情请参考OCR服务价格计算器。 降低管理难度 无需对每个API的调用量进行单独的预测,然后分别购买不同大小的套餐包。以发票报销为例,很难分别对每种发票的数量进行预估,但是依据历史情况对总的发票数量进行预测就更加容易。
  • 云监控 云监控(Cloud Eye)可以监控文字识别的相关指标,具体如表1所示。用户可以通过指标及时了解文字识别的使用情况。Cloud Eye的更多信息请参见《云监控用户指南》。 表1 OCR的监控指标 指标名称 指标含义 取值范围 测量对象 调用服务成功次数 该指标用于统计用户请求服务成功次数,以“次每分钟”为单位。 ≥0次每分钟 文字识别 调用服务失败次数 该指标用于统计用户请求服务失败次数,以“次每分钟”为单位。 ≥0次每分钟 文字识别 每个子服务都有调用成功次数和失败次数两个指标。
  • 使用前必读 用户需要具备编程能力,熟悉Java、Python、iOS、Android、Node.js编程语言。 OCR服务需要用户通过调用API接口,将图片或扫描件中的文字识别成可编辑的文本,然后返回JSON格式的识别结果,用户需要通过编码将识别结果对接到业务系统或保存为TXT、Excel等格式。 关于文字识别的相关声明请参见文字识别服务声明、隐私政策声明。 文字识别服务等级协议请参见华为云服务等级协议。
  • 首次使用OCR 如果您是首次使用OCR的用户,建议您学习并了解如下信息: 功能介绍 通过功能介绍章节的内容,了解OCR不同类别的文字识别功能,包括通用类文字识别、证件类文字识别、票据类文字识别。 入门使用 OCR以开放API的方式提供给用户,您可以参考《快速入门》学习并使用OCR服务。 使用方式 如果您是一个开发工程师,熟悉代码编写,想要直接调用OCR服务,您可以参考《API参考》或《SDK参考》获取详情。 由浅入深学习 您可以参考成长地图,由浅入深学习使用OCR。
  • OCR能力 通用类 OCR 通用类OCR(General OCR),支持表格、文档、网络图片等任意格式图片上文字信息的自动化识别,自适应分析各种版面和表格,快速实现各种文档电子化。 证件类 OCR 证件类OCR(Card OCR),支持身份证、驾驶证、行驶证、护照等证件图片上有效信息的自动识别和关键字段结构化提取。 票据类 OCR 票据类OCR (Receipt OCR),支持增值税发票、机动车销售发票、医疗发票等各种发票和表单图片上有效信息的自动识别和结构化提取。 行业类 OCR 行业类OCR( Domain OCR ),支持物流面单、医疗化验单据等多种行业特定类型图片的结构化信息提取和识别,助力行业自动化效率提升。
  • 购买并配置云容器引擎 本节中使用的是云容器引擎CCE。 通过控制台可购买CCE集群。 其中集群及节点的必要配置建议参照表1与表2,表中未涉及的可根据实际情况选择。 表1 CCE集群购买配置 配置分类 配置项 配置建议 基础配置 集群类型 选择“CCE Standard 集群”。 计费模式 选择“按需计费”。 集群名称 输入自定义名称。 集群版本 根据需要选择,建议选择最新版本。 网络配置 容器网络模型 选择“容器隧道网络”。 虚拟私有云 选择已有的虚拟私有云,如果列表中没有合适的选项,单击“新建虚拟私有云”完成创建。 默认节点子网 选择已有的子网,如果列表中没有合适的选项,单击“新建子网”完成创建。 容器网段 勾选“自动设置网段”。 表2 节点配置 配置分类 配置项 配置建议 节点配置 计费模式 选择“按需计费”。 节点类型 选择“弹性云服务器-虚拟机”。 节点规格 选择2vCPUs 8GiB及以上规格即可。 操作系统 选择公共镜像中的Euler镜像。 节点名称 输入自定义名称 。 登录方式 选择“密码”。 密码 输入自定义密码 。 网络配置 节点IP 选择“自动分配”。 弹性公网IP 选择“自动创建”。
  • 附录 A边节点下线-代码示例 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$time_local|$remote_addr[$remote_port]|$request|$request_method|$content_length|' '$content_type|$http_referer|$host|$http_x_forwarded_for|' '$http_true_client_ip|$server_name|$request_uri|$server_addr|$server_port|' '$status|$request_time|$upstream_addr|$upstream_response_time|$cookie_domain_tag'; access_log logs/access.log main; #访问日志:存放路径,日志级别。 error_log logs/error.log; #错误日志:存放路径。 sendfile on; keepalive_timeout 65; upstream portal { # 下面填入A主机IP及应用服务端口 #server X.X.X.X:X; #A节点下线 # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; } upstream portal_test { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; } server { listen XXX;#填入Nginx端口 server_name localhost; location / { set $backend portal; set $test portal_test; #下面填入灰度验证机器IP #if ( $remote_addr ~* "X.X.X.X") { # set $backend $test; #} proxy_pass https://$backend; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } 部署节点 # 获取应用进程id pid=`ps -ef | grep app_name | grep -v grep | awk '{print $2}'` if [ -z "$pid" ]; then echo "[app_name pid is not exist.]" else echo "app_name pid: $pid " # 停止该进程 kill -15 $pid fi # 重新启动应用,可通过执行部署脚本和部署命令两种方式启动应用,如下: # 方式一:通过执行部署脚本启动应用 # sh startup.sh # 方式二:通过执行命令启动应用,建议采用nohup后台启动方式 # nohup java -jar /usr/local/app/SpringbootDemo.jar & A边节点灰度上线-代码示例 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$time_local|$remote_addr[$remote_port]|$request|$request_method|$content_length|' '$content_type|$http_referer|$host|$http_x_forwarded_for|' '$http_true_client_ip|$server_name|$request_uri|$server_addr|$server_port|' '$status|$request_time|$upstream_addr|$upstream_response_time|$cookie_domain_tag'; access_log logs/access.log main; #访问日志:存放路径,日志级别。 error_log logs/error.log; #错误日志:存放路径。 sendfile on; keepalive_timeout 65; upstream portal { # 下面填入A主机IP及应用服务端口 #server X.X.X.X:X; #A节点下线 # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; } upstream portal_test { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; #A节点灰度上线 # 下面填入B主机IP及应用服务端口 #server X.X.X.X:X; } server { listen XXX;#填入Nginx端口 server_name localhost; location / { set $backend portal; set $test portal_test; #下面填入灰度验证机器IP if ( $remote_addr ~* "X.X.X.X") { set $backend $test; } proxy_pass https://$backend; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } B边节点下线-代码示例 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$time_local|$remote_addr[$remote_port]|$request|$request_method|$content_length|' '$content_type|$http_referer|$host|$http_x_forwarded_for|' '$http_true_client_ip|$server_name|$request_uri|$server_addr|$server_port|' '$status|$request_time|$upstream_addr|$upstream_response_time|$cookie_domain_tag'; access_log logs/access.log main; #访问日志:存放路径,日志级别。 error_log logs/error.log; #错误日志:存放路径。 sendfile on; keepalive_timeout 65; upstream portal { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 #server X.X.X.X:X; #B节点下线 } upstream portal_test { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; } server { listen XXX;#填入Nginx端口 server_name localhost; location / { set $backend portal; set $test portal_test; #下面填入灰度验证机器IP #if ( $remote_addr ~* "X.X.X.X") { # set $backend $test; #} proxy_pass https://$backend; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } B边节点灰度上线-代码示例 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$time_local|$remote_addr[$remote_port]|$request|$request_method|$content_length|' '$content_type|$http_referer|$host|$http_x_forwarded_for|' '$http_true_client_ip|$server_name|$request_uri|$server_addr|$server_port|' '$status|$request_time|$upstream_addr|$upstream_response_time|$cookie_domain_tag'; access_log logs/access.log main; #访问日志:存放路径,日志级别。 error_log logs/error.log; #错误日志:存放路径。 sendfile on; keepalive_timeout 65; upstream portal { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 #server X.X.X.X:X; #B节点下线 } upstream portal_test { # 下面填入A主机IP及应用服务端口 #server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; #B节点灰度上线 } server { listen XXX;#填入Nginx端口 server_name localhost; location / { set $backend portal; set $test portal_test; #下面填入灰度验证机器IP if ( $remote_addr ~* "X.X.X.X") { set $backend $test; } proxy_pass https://$backend; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } 节点上线-代码示例 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$time_local|$remote_addr[$remote_port]|$request|$request_method|$content_length|' '$content_type|$http_referer|$host|$http_x_forwarded_for|' '$http_true_client_ip|$server_name|$request_uri|$server_addr|$server_port|' '$status|$request_time|$upstream_addr|$upstream_response_time|$cookie_domain_tag'; access_log logs/access.log main; #访问日志:存放路径,日志级别。 error_log logs/error.log; #错误日志:存放路径。 sendfile on; keepalive_timeout 65; upstream portal { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; } upstream portal_test { # 下面填入A主机IP及应用服务端口 server X.X.X.X:X; # 下面填入B主机IP及应用服务端口 server X.X.X.X:X; } server { listen XXX;#填入Nginx端口 server_name localhost; location / { set $backend portal; set $test portal_test; #下面填入灰度验证机器IP #if ( $remote_addr ~* "X.X.X.X") { # set $backend $test; #} proxy_pass https://$backend; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
  • 方案架构 系统升级时,若采用蓝绿部署方式,开发人员需进行如下操作: 先将A边服务器(原蓝环境)下线,同时访问流量将全部切分到B边服务器,此时对A边服务器进行升级操作。 A边服务器升级完毕后,将A边服务器设为灰度测试环境,由测试人员对A边服务器进行灰度验证。 灰度验证完毕且功能正常后,A边业务服务器(绿环境)正式上线,并将所有流量切分到A边业务服务器,此时蓝绿部署完毕。 在服务运行过程中,如果A边服务器出现紧急情况,执行蓝绿倒换实现业务快速恢复。 图1 灰度发布原理 若采用金丝雀灰度部署方式,再重复前面的操作,将B边服务器进行升级,并完成灰度测试及正式上线,此时就完成新系统的灰度发布。
  • 操作步骤 安装相关依赖包和perl。 登录弹性云服务器。 为了更好的获取和更新系统和软件,建议您更新镜像源为华为云镜像源,详细操作,请参见如何使用自动化工具配置华为云镜像源(x86_64和ARM)?。 执行以下命令,安装相关依赖包。 yum -y install make gcc gcc-c++ m4 ncurses-devel openssl-devel unixODBC-devel 执行如下命令,安装perl。 yum install perl 安装erlang。 关于erlang的安装请参考Erlang官方资料。 添加erlang存储库到系统 wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm rpm -Uvh erlang-solutions-2.0-1.noarch.rpm 或手动添加存储库条目 rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc 在/etc/yum.repos.d/目录下新建一个文件rabbitmq-erlang.repo,然后将下面的粘贴进去 cd /etc/yum.repos.d/ vi rabbitmq-erlang.repo [erlang-solutions] name=CentOS $releasever - $basearch - Erlang Solutions baseurl=https://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch gpgcheck=1 gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc enabled=1 按Esc键退出编辑模式,并输入:wq保存后退出。 执行以下命令安装erlang sudo yum install erlang 执行以下命令安装esl-erlang sudo yum install esl-erlang 执行如下命令,检查安装结果。 erl -version 回显类似如下信息,说明erlang安装成功。 [root@ecs-rabbitmq ~]# erl -version Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.1.7 安装RabbitMQ 执行如下命令,进入用户主目录。 cd 执行如下命令,下载RabbitMQ安装包。 打开Rabbit官网。 单击“Get Started”。 图1 Get Started 找到并单击“Download+Installation”。 图2 Download+Installation 根据云服务器的操作系统选择下载地址。例如本例中使用的是CentOS 7.x的下载地址。 图3 选择下载地址 在服务器上执行以下命令下载RabbitMQ安装包。 例如3.b.iv查找的下载地址是: https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.12/rabbitmq-server-3.8.12-1.el7.noarch.rpm 则执行的命令如下: wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.12/rabbitmq-server-3.8.12-1.el7.noarch.rpm 如果下载过程中提示“Unable to establish SSL connection.” 可以在wget命令后加--no-check-certificate,重复执行几次,即可下载。 例如: wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.12/rabbitmq-server-3.8.12-1.el7.noarch.rpm --no-check-certificate 执行以下命令安装RabbitMQ安装包。 yum install rabbitmq-server-3.8.12-1.el7.noarch.rpm 安装完毕,启动RabbMQ service rabbitmq-server start 查看RabbMQ状态。 service rabbitmq-server status 执行如下命令,启用RabbitMQ的web管理界面。 rabbitmq-plugins enable rabbitmq_management 回显类似如下信息: [root@ecs-rabbitmq ~]# rabbitmq-plugins enable rabbitmq_management Enabling plugins on node rabbit@ecs-rabbitmq: rabbitmq_management The following plugins have been configured: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch Applying plugin configuration to rabbit@ecs-2b36... The following plugins have been enabled: rabbitmq_management rabbitmq_management_agent rabbitmq_web_dispatch started 3 plugins. 执行如下命令,创建一个新用户。 rabbitmqctl add_user 用户名 密码 命令示例: rabbitmqctl add_user root 123456 执行如下命令,设置用户为管理员。 rabbitmqctl set_user_tags 用户名 administrator 命令示例: rabbitmqctl set_user_tags root administrator 执行如下命令,赋予用户所有权限。 rabbitmqctl set_permissions -p / 用户名 '.*' '.*' '.*' 命令示例: rabbitmqctl set_permissions -p / root '.*' '.*' '.*' 执行如下命令,在后台启动RabbitMQ。 rabbitmq-server -detached 使用浏览器访问 “http://弹性公网IP:15672”,显示如下页面,说明RabbitMQ安装成功。 输入步骤5创建的用户名和密码后单击“Login”,进入RabbitMQ管理界面。
  • 简介 本文介绍了如何在华为云上使用弹性云服务器的Linux实例部署RabbitMQ。RabbitMQ是采用Erlang语言实现AMQP(Advanced Message Queuing Protocol,高级消息队列协议)的消息中间件,它最初起源于金融系统,用于在分布式系统中存储转发消息。RabbitMQ凭借其高可靠、易扩展、高可用及丰富的功能特性成为目前非常热门的一款消息中间件。 您还可以选择Solution as Code一键式部署方式自动部署高可用的RabbitMQ集群,详细内容请参见快速部署高可用的RabbitMQ集群。
  • 操作步骤 在Airtest主页单击“刷新ADB”,出现已连接的移动设备: 图1 Airtest主页 如果没有出现您想要连接的设备,可选择下方的“远程设备连接”,然后手动输入对应云手机的ADB连接命令,如图2。 adb connect 127.0.0.1:1234 其中,1234为建立SSH隧道时所使用的本地空闲端口。 图2 远程设备连接 单击右侧的“连接”后,“移动设备连接”中即会出现所需连接的云手机。 请确保ADB连接的命令行窗口已关闭,否则会连接失败;并且保证SSH隧道建立成功,否则即使已识别出移动设备,“ADB Status”也会出现“offline”状态,导致无法获取云手机画面。 在已识别的移动设备列表中单击对应设备右侧的“connect”,即可获取云手机画面: 图3 移动设备列表 图4 云手机画面 若通过ADB连接了多台云手机,需要切换画面,可单击右上角的切换图标进行切换。 图5 切换云手机
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 connect_infos Array of ConnectInfo objects 云手机接入信息列表 errors Array of ConnectErrorInfo objects 错误信息 表5 ConnectInfo 参数 参数类型 描述 phone_id String 云手机的唯一标识。 access_info access_info object 云手机接入信息 表6 access_info 参数 参数类型 描述 access_ip String 云手机实例的公网访问IP intranet_ip String 云手机实例的内网访问IP access_ipv6 String 云手机服务器IPv6 IP access_port Integer 云手机实例的访问端口 session_id String 本次接入的会话ID timestamp String 时间戳 ticket String 签名令牌 表7 ConnectErrorInfo 参数 参数类型 描述 phone_id String 云手机的唯一标识ID。 error_code String 错误码。 error_msg String 错误说明。
  • 请求示例 获取云手机连接信息 POST https://{CPHEndpoint}/v1/{project_id}/cloud-phone/phones/batch-connection { "client_type" : "ANDROID", "phone_ids" : [ "1564567b8bab40f34711234cb80d8574", "1234567b8bab40ffb711234cb80d0234", "1234567b8bab40ffb711234cb8654321" ] }
  • 响应示例 状态码: 200 OK { "request_id" : "70bb40bef50e4a14b116a5a527fd7432", "connect_infos" : [ { "phone_id" : "1564567b8bab40f34711234cb80d8574", "access_info" : { "access_ip" : "213.32.43.22", "intranet_ip" : "192.168.0.25", "access_ipv6" : "2001:db8:a583:b62:e5ea:4a6b:de7b:f97d", "access_port" : 14308, "session_id" : "9864567a7bab40f34711234cb8087474", "timestamp" : "122478329742", "ticket" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } } ], "errors" : [ { "phone_id" : "1234567b8bab40ffb711234cb80d0234", "error_code" : "CPS.0018", "error_msg" : "Access info not found." }, { "phone_id" : "1234567b8bab40ffb711234cb8654321", "error_code" : "CPS.0005", "error_msg" : "Phone not found." } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 phone_ids 是 Array of strings phone_id数组,单次请求最大限制10 client_type 是 String 申请接入的客户端类型 ANDROID: 安卓平台SDK WINDOWS: Windows平台SDK H5_MOBILE: H5移动端SDK H5_PC: H5 PC端SDK IOS: iOS平台SDK
共100000条