华为云用户手册

  • 元命令 元命令的详细说明请参见表1、表2、表3、表4、表6、表8、表9、表10和表12。 以下命令中所提到的FILE代表文件路径。此路径可以是绝对路径(如/home/gauss/file.txt),也可以是相对路径(file.txt,file.txt会默认在用户执行gsql命令所在的路径下创建)。 表1 一般的元命令 参数 参数说明 取值范围 \copyright 显示 GaussDB 的版本和版权信息。 - \g [FILE] or ; 执行查询(并将结果发送到文件或管道)。 - \h(\help) [NAME] 给出指定SQL语句的语法帮助。 如果没有给出NAME,gsql将列出可获得帮助的所有命令。如果NAME是一个星号(*),则显示所有SQL语句的语法帮助。 \parallel [on [num]|off] 控制并发执行开关。 on:打开控制并发执行开关,且最大并发数为num。 off:关闭控制并发执行开关。 说明: 不支持事务中开启并发执行以及并发中开启事务。 不支持\d这类元命令的并发。 并发select返回结果混乱问题,此为客户可接受,core、进程停止响应不可接受。 不推荐在并发中使用set语句,否则导致结果与预期不一致。 不支持创建临时表!如需使用临时表,需要在开启parallel之前创建好,并在parallel内部使用。parallel内部不允许创建临时表。 \parallel执行时最多会启动num个独立的gsql进程连接服务器。 \parallel中所有作业的持续时间不能超过session_timeout,否则可能会导致并发执行过程中断连。 在\parallel on 之后一条或多条命令,会等到\parallel off执行后才会执行,因而,\parallel on之后需要有对应的\parallel off,否则\parallel on后的命令都无法执行。 num的默认值:1024。 须知: 服务器能接受的最大连接数受max_connection及当前已有连接数限制。 设置num时请考虑服务器当前可接受的实际连接数合理指定。 \q 退出gsql程序。在一个脚本文件里,只在脚本终止的时候执行。 - 表2 查询缓存区元命令 参数 参数说明 \e [FILE] [LINE] 使用外部编辑器编辑查询缓冲区(或者文件)。 \ef [FUNCNAME [LINE]] 使用外部编辑器编辑函数定义。如果指定了LINE(即行号),则光标会指到函数体的指定行。 \p 打印当前查询缓冲区到标准输出。 \r 重置(或清空)查询缓冲区。 \w FILE 将当前查询缓冲区输出到文件。 表3 输入/输出元命令 参数 参数说明 \copy { table [ ( column_list ) ] | ( query ) } { from | to } { filename | stdin | stdout | pstdin | pstdout } [ with ] [ binary ] [ oids ] [ delimiter [ as ] 'character' ] [ useeof ] [ null [ as ] 'string' ] [ csv [ header ] [ quote [ as ] 'character' ] [ escape [ as ] 'character' ] [ force quote column_list | * ] [ force not null column_list ] ] [parallel integer] 在任何gsql客户端登录数据库成功后可以执行导入导出数据,这是一个运行SQL COPY命令的操作,但不是读取或写入指定文件的服务器,而是读取或写入文件,并在服务器和本地文件系统之间路由数据。这意味着文件的可访问性和权限是本地用户的权限,而不是服务器的权限,并且不需要数据库初始化用户权限。 说明: \COPY只适合小批量,格式良好的数据导入,不会对非法字符进行预处理,也无容错能力。导入数据应优先选择GDS或COPY。 \COPY 可以指定数据导入时的客户端数量,从而实现数据文件的并行导入,目前并发数范围为[1, 8]。 \COPY并行导入目前存在以下约束:临时表的并行导入不支持、在事务内的并行导入不支持、对二进制文件的并行导入不支持、数据导入支持AES128加密时不支持以及COPY选项中存在EOL。在这些情况下,即使指定了parallel参数,仍然会走非并行流程。 \echo [STRING] 把字符串写到标准输出。 \i FILE 从文件FILE中读取内容,并将其当作输入,执行查询。 \i+ FILE KEY 执行加密文件中的命令。 \ir FILE 和\i类似,只是相对于存放当前脚本的路径。 \ir+ FILE KEY 和\i+类似,只是相对于存放当前脚本的路径。 \o [FILE] 把所有的查询结果发送到文件里。 \qecho [STRING] 把字符串写到查询结果输出流里。 表4中的选项S表示显示系统对象,+表示显示对象附加的描述信息。PATTERN用来指定要被显示的对象名称。 表4 显示信息元命令 参数 参数说明 取值范围 示例 \d[S+] 列出当前search_path中模式下所有的表、视图和序列。当search_path中不同模式存在同名对象时,只显示search_path中位置靠前模式下的同名对象。 - 列出当前search_path中模式下所有的表、视图和序列。 1 openGauss=# \d \d[S+] NAME 列出指定表、视图和索引的结构。 - 假设存在表a,列出指定表a的结构。 1 openGauss=# \dtable+ a \d+ [PATTERN] 列出所有表、视图和索引。 如果声明了PATTERN,只显示名称匹配PATTERN的表、视图和索引。 列出所有名称以f开头的表、视图和索引。 1 openGauss=# \d+ f* \da[S] [PATTERN] 列出所有可用的聚集函数,以及它们操作的数据类型和返回值类型。 如果声明了PATTERN,只显示名称匹配PATTERN的聚集函数。 列出所有名称以f开头可用的聚集函数,以及它们操作的数据类型和返回值类型。 1 openGauss=# \da f* \db[+] [PATTERN] 列出所有可用的表空间。 如果声明了PATTERN,只显示名称匹配PATTERN的表空间。 列出所有名称以p开头的可用表空间。 1 openGauss=# \db p* \dc[S+] [PATTERN] 列出所有字符集之间的可用转换。 如果声明了PATTERN,只显示名称匹配PATTERN的转换。 列出所有字符集之间的可用转换。 1 openGauss=# \dc * \dC[+] [PATTERN] 列出所有类型转换。 PATTERN需要使用实际类型名,不能使用别名。 如果声明了PATTERN,只显示名称匹配PATTERN的转换。 列出所有名称以c开头的类型转换。 1 openGauss=# \dC c* \dd[S] [PATTERN] 显示所有匹配PATTERN的描述。 如果没有给出参数,则显示所有可视对象。“对象”包括:聚集、函数、操作符、类型、关系(表、视图、索引、序列、大对象)、规则。 列出所有可视对象。 1 openGauss=# \dd \ddp [PATTERN] 显示所有默认的使用权限。 如果指定了PATTERN,只显示名称匹配PATTERN的使用权限。 列出所有默认的使用权限。 1 openGauss=# \ddp \dD[S+] [PATTERN] 列出所有可用域。 如果声明了PATTERN,只显示名称匹配PATTERN的域。 列出所有可用域。 1 openGauss=# \dD \det[+] [PATTERN] 列出所有的外部表。 如果声明了PATTERN,只显示名称匹配PATTERN的表。 列出所有的外部表。 1 openGauss=# \det \des[+] [PATTERN] 列出所有的外部服务器。 如果声明了PATTERN,只显示名称匹配PATTERN的服务器。 列出所有的外部服务器。 1 openGauss=# \des \deu[+] [PATTERN] 列出用户映射信息。 如果声明了PATTERN,只显示名称匹配PATTERN的信息。 列出用户映射信息。 1 openGauss=#\deu \dew[+] [PATTERN] 列出封装的外部数据。 如果声明了PATTERN,只显示名称匹配PATTERN的数据。 列出封装的外部数据。 1 openGauss=# \dew \df[antw][S+] [PATTERN] 列出所有可用函数,以及它们的参数和返回的数据类型。a代表聚集函数,n代表普通函数,t代表触发器,w代表窗口函数。 如果声明了PATTERN,只显示名称匹配PATTERN的函数。 列出所有可用函数,以及它们的参数和返回的数据类型。 1 openGauss=# \df \dF[+] [PATTERN] 列出所有的文本搜索配置信息。 如果声明了PATTERN,只显示名称匹配PATTERN的配置信息。 列出所有的文本搜索配置信息。 1 openGauss=# \dF+ \dFd[+] [PATTERN] 列出所有的文本搜索字典。 如果声明了PATTERN,只显示名称匹配PATTERN的字典。 列出所有的文本搜索字典。 1 openGauss=# \dFd \dFp[+] [PATTERN] 列出所有的文本搜索分析器。 如果声明了PATTERN,只显示名称匹配PATTERN的分析器。 列出所有的文本搜索分析器。 1 openGauss=# \dFp \dFt[+] [PATTERN] 列出所有的文本搜索模板。 如果声明了PATTERN,只显示名称匹配PATTERN的模板。 列出所有的文本搜索模板。 1 openGauss=# \dFt \dg[+] [PATTERN] 列出所有数据库角色。 说明: 因为用户和群组的概念被统一为角色,所以这个命令等价于\du。为了和以前兼容,所以保留两个命令。 如果指定了PATTERN,只显示名称匹配PATTERN的角色。 列出名称为“j?e”所有数据库角色(“?”表示任一字符)。 1 openGauss=# \dg j?e \dl \lo_list的别名,显示一个大对象的列表。 - 列出所有的大对象。 1 openGauss=# \dl \dL[S+] [PATTERN] 列出可用的程序语言。 如果指定了PATTERN,只列出名称匹配PATTERN的语言。 列出可用的程序语言。 1 openGauss=# \dL \dm[S+] [PATTERN] 列出物化视图。 如果指定了PATTERN,只列出名称匹配PATTERN的物化视图。 列出物化视图。 1 openGauss=# \dm \dn[S+] [PATTERN] 列出所有模式(名称空间)。如果向命令追加+,会列出每个模式相关的权限及描述。 如果声明了PATTERN,只列出名称匹配PATTERN的模式名。缺省时,只列出用户创建的模式。 列出所有名称以d开头的模式以及相关信息。 1 openGauss=# \dn+ d* \do[S] [PATTERN] 列出所有可用的操作符,以及它们的操作数和返回的数据类型。 如果声明了PATTERN,只列出名称匹配PATTERN的操作符。缺省时,只列出用户创建的操作符。 列出所有可用的操作符,以及它们的操作数和返回的数据类型。 1 openGauss=# \do \dO[S+] [PATTERN] 列出排序规则。 如果声明了PATTERN,只列出名称匹配PATTERN的规则。缺省时,只列出用户创建的规则。 列出排序规则。 1 openGauss=# \dO \dp [PATTERN] 列出一列可用的表、视图以及相关的权限信息。 \dp显示结果如下: rolename=xxxx/yyyy --赋予一个角色的权限 =xxxx/yyyy --赋予public的权限 xxxx表示赋予的权限,yyyy表示授予这个权限的角色。权限的参数说明请参见表5。 如果指定了PATTERN,只列出名称匹配PATTERN的表、视图。 列出一列可用的表、视图以及相关的权限信息。 1 openGauss=# \dp \drds [PATTERN1 [PATTERN2]] 列出所有修改过的配置参数。这些设置可以是针对角色的、针对数据库的或者同时针对两者的。PATTERN1和PATTERN2表示要列出的角色PATTERN和数据库PATTERN。 如果声明了PATTERN,只列出名称匹配PATTERN的规则。缺省或指定*时,则会列出所有设置。 列出数据库所有修改过的配置参数。 1 openGauss=# \drds * dbname \dT[S+] [PATTERN] 列出所有的数据类型。 如果指定了PATTERN,只列出名称匹配PATTERN的类型。 列出所有的数据类型。 1 openGauss=# \dT \du[+] [PATTERN] 列出所有数据库角色。 说明: 因为用户和群组的概念被统一为角色,所以这个命令等价于\dg。为了和以前兼容,所以保留两个命令。 如果指定了PATTERN,则只列出名称匹配PATTERN的角色。 列出所有数据库角色。 1 openGauss=# \du \dE[S+] [PATTERN] \di[S+] [PATTERN] \ds[S+] [PATTERN] \dt[S+] [PATTERN] \dv[S+] [PATTERN] 这一组命令,字母E,i,s,t和v分别代表着外部表,索引,序列,表和视图。可以以任意顺序指定其中一个或者它们的组合来列出这些对象。例如:\dit列出所有的索引和表。在命令名称后面追加+,则每一个对象的物理尺寸以及相关的描述也会被列出。 如果指定了PATTERN,只列出名称匹配该PATTERN的对象。默认情况下只会显示用户创建的对象。通过PATTERN或者S修饰符可以把系统对象包括在内。 列出所有的索引和视图。 1 openGauss=# \div \dx[+] [PATTERN] 列出安装数据库的扩展信息。 如果指定了PATTERN,则只列出名称匹配PATTERN的扩展信息。 列出安装数据库的扩展信息。 1 openGauss=# \dx \l[+] 列出服务器上所有数据库的名称、所有者、字符集编码以及使用权限。 - 列出服务器上所有数据库的名称、所有者、字符集编码以及使用权限。 1 openGauss=# \l \sf[+] FUNCNAME 显示函数的定义。 说明: 对于带圆括号的函数名,需要在函数名两端添加双引号,并且在双引号后面加上参数类型列表。参数类型列表两端添加圆括号。 - 假设存在函数function_a和函数名带圆括号的函数func()name,列出函数的定义。 123 openGauss=# \sf function_aopenGauss=# \sf "func()name"(argtype1, argtype2) \z [PATTERN] 列出数据库中所有表、视图和序列,以及它们相关的访问特权。 如果给出任何pattern ,则被当成一个正则表达式,只显示匹配的表、视图、序列。 列出数据库中所有表、视图和序列,以及它们相关的访问特权。 1 openGauss=# \z 表5 权限的参数说明 参数 参数说明 r SELECT:允许对指定的表、视图读取数据。 w UPDATE:允许对指定表更新字段。 a INSERT:允许对指定表插入数据。 d DELETE:允许删除指定表中的数据。 D TRUNCATE:允许清理指定表中的数据。 x REFEREN CES :允许创建外键约束。 t TRIGGER:允许在指定表上创建触发器。 X EXECUTE:允许使用指定的函数,以及利用这些函数实现的操作符。 U USAGE: 对于过程语言,允许用户在创建函数时,指定过程语言。 对于模式,允许访问包含在指定模式中的对象。 对于序列,允许使用nextval函数。 C CREATE: 对于数据库,允许在该数据库里创建新的模式。 对于模式,允许在该模式中创建新的对象。 对于表空间,允许在其中创建表,以及允许创建数据库和模式的时候把该表空间指定为其缺省表空间。 c CONNECT:允许用户连接到指定的数据库。 T TEMPORARY:允许创建临时表。 A ALTER:允许用户修改指定对象的属性。 P DROP:允许用户删除指定的对象。 m COMMENT:允许用户定义或修改指定对象的注释。 i INDEX:允许用户在指定表上创建索引。 v VACUUM:允许用户对指定的表执行ANALYZE和VACUUM操作。 * 给前面权限的授权选项。 表6 格式化元命令 参数 参数说明 \a 对齐模式和非对齐模式之间的切换。 \C [STRING] 把正在打印的表的标题设置为一个查询的结果或者取消这样的设置。 \f [STRING] 对于不对齐的查询输出,显示或者设置域分隔符。 \H 若当前模式为文本格式,则切换为HTML输出格式。 若当前模式为HTML格式,则切换回文本格式。 \pset NAME [VALUE] 设置影响查询结果表输出的选项。NAME的取值见表7。 \t [on|off] 切换输出的字段名的信息和行计数脚注。 \T [STRING] 指定在使用HTML输出格式时放在table标签里的属性。如果参数为空,不设置。 \x [on|off|auto] 切换扩展行格式。 表7 可调节的打印选项 选项 选项说明 取值范围 border value必须是一个数字。通常这个数字越大,表的边界就越宽线就越多,但是这个取决于特定的格式。 在HTML格式下,取值范围为大于0的整数。 在其他格式下,取值范围: 0:无边框 1:内部分隔线 2:台架 expanded (或x) 在正常和扩展格式之间切换。 当打开扩展格式时,查询结果用两列显示,字段名称在左、数据在右。这个模式在数据无法放进通常的“水平”模式的屏幕时很有用。 在正常格式下,当查询输出的格式比屏幕宽时,用扩展格式。正常格式只对aligned和wrapped格式有用。 fieldsep 声明域分隔符来实现非对齐输出。这样就可以创建其他程序希望的制表符或逗号分隔的输出。要设置制表符域分隔符,键入\pset fieldsep '\t'。缺省域分隔符是 '|' (竖条符)。 - fieldsep_zero 声明域分隔符来实现非对齐输出到零字节。 - footer 用来切换脚注。 - format 设置输出格式。允许使用唯一缩写(这意味着一个字母就够了)。 取值范围: unaligned:写一行的所有列在一条直线上中,当前活动字段分隔符分隔。 aligned:此格式是标准的,可读性好的文本输出。 wrapped:类似aligned,但是包装跨行的宽数据值,使其适应目标字段的宽度输出。 html:把表输出为可用于文档里的对应标记语言。输出不是完整的文档。 latex:把表输出为可用于文档里的对应标记语言。输出不是完整的文档。 troff-ms:把表输出为可用于文档里的对应标记语言。输出不是完整的文档。 null 打印一个字符串,用来代替一个null值。 缺省是什么都不打印,这样很容易和空字符串混淆。 numericlocale 切换分隔小数点左边的数值的区域相关的分组符号。 on:显示指定的分隔符。 off:不显示分隔符。 忽略此参数,显示默认的分隔符。 pager 控制查询和gsql帮助输出的分页器。如果设置了环境变量PAGER,输出将被指向到指定程序,否则使用系统缺省。 on:当输出到终端且不适合屏幕显示时,使用分页器。 off:不使用分页器。 always:当输出到终端无论是否符合屏幕显示时,都使用分页器。 recordsep 声明在非对齐输出格式时的记录分隔符。 - recordsep_zero 声明在非对齐输出到零字节时的记录分隔符。 - tableattr(或T) 声明放在html输出格式中HTML table标签的属性(例如:cellpadding或bgcolor)。注意:这里可能不需要声明border,因为已经在\pset border里用过了。如果没有给出value,则不设置表的属性。 - title 为随后打印的表设置标题。这个可以用于给输出一个描述性标签。如果没有给出value,不设置标题。 - tuples_only (或者t) 在完全显示和只显示实际的表数据之间切换。完全显示将输出像列头、标题、各种脚注等信息。在tuples_only模式下,只显示实际的表数据。 - feedback 切换是否输出结果行数 - 表8 连接元命令 参数 参数说明 取值范围 \c[onnect] [DBNAME|- USER|- HOST|- PORT|-] 连接到一个新的数据库。当数据库名称长度超过63个字节时,默认前63个字节有效,连接到前63个字节对应的数据库,但是gsql的命令提示符中显示的数据库对象名仍为截断前的名称。 说明: 重新建立连接时,如果切换数据库登录用户,将可能会出现交互式输入,要求输入新用户的连接密码。该密码最长长度为999字节,受限于GUC参数password_max_length的最大值。 - \encoding [ENCODING] 设置客户端字符编码格式。 不带参数时,显示当前的编码格式。 \conninfo 输出当前连接的数据库的信息。 - 表9 操作系统元命令 参数 参数说明 取值范围 \cd [DIR] 切换当前的工作目录。 绝对路径或相对路径,且满足操作系统路径命名规则。 \setenv NAME [VALUE] 设置环境变量NAME为VALUE,如果没有给出VALUE值,则不设置环境变量。 - \timing [on|off] 以毫秒为单位显示每条SQL语句的执行时间。 on表示打开显示。 off表示关闭显示。 \! [COMMAND] 返回到一个单独的UNIX shell或者执行UNIX命令COMMAND。 - 表10 变量元命令 参数 参数说明 \prompt [TEXT] NAME 提示用户用文本格式来指定变量名称。 \set [NAME [VALUE]] 设置内部变量NAME为VALUE或者如果给出了多于一个值,设置为所有这些值的连接结果。如果没有给出第二个参数,只设变量不设值。 有一些常用变量被gsql特殊对待,它们是一些选项设置,通常所有特殊对待的变量都是由大写字母组成(可能还有数字和下划线)。 表11是一个所有特殊对待的变量列表。 \unset NAME 不设置(或删除)gsql变量名。 表11 \set常用命令 名称 命令说明 取值范围 \set VERBOSITY value 这个选项可以设置为值default,verbose,terse之一以控制错误报告的冗余行。 value取值范围:default, verbose,terse \set ON_ERROR_STOP value 如果设置了这个变量,脚本处理将马上停止。如果该脚本是从另外一个脚本调用的,那个脚本也会按同样的方式停止。如果最外层的脚本不是从一次交互的gsql会话中调用的而是用-f选项调用的,gsql将返回错误代码3,以示这个情况与致命错误条件的区别(错误代码为1)。 value取值范围为:on/off,true/false,yes/no,1/0 \set AUTOCOMMIT [on|off] 设置当前gsql连接的自动提交行为,on为打开自动提交,off为关闭自动提交。默认情况下,gsql连接处于自动提交模式,每个单独的语句都被隐式提交。如果基于性能或者其它方面考虑,需要关闭自动提交时,需要用户自己显示地发出COMMIT命令来保证事务的提交。例如,在指定的业务SQL执行完之后发送COMMIT语句显式提交,特别是gsql客户端退出之前务必保证所有的事务已经提交。 说明: gsql默认使用自动提交模式,若关闭自动提交,将会导致后面执行的语句都受到隐式事务包裹,数据库中不支持在事务中执行的语句不能在此模式下执行。 on表示打开自动提交。 off表示关闭自动提交。 表12 大对象元命令 参数 参数说明 \lo_list 显示一个目前存储在该数据库里的所有GaussDB大对象和提供给他们的注释。
  • 注意事项 一个gsql元命令的格式是反斜杠后面紧跟一个动词,然后是任意参数。参数命令动词和其他参数以任意个空白字符间隔。 要在参数里面包含空白,必须用单引号把它引起来。要在这样的参数里包含单引号,可以在前面加一个反斜杠。任何包含在单引号里的内容都会被进一步进行类似C语言的替换:\n(新行)、\t(制表符)、\b(退格)、\r(回车)、\f(换页)、\digits(八进制表示的字符)、\xdigits(十六进制表示的字符)。 用""包围的内容被当做一个命令行传入shell。该命令的输出(删除了结尾的新行)被当做参数值。 如果不带引号的参数以冒号(:)开头,它会被当做一个gsql变量,并且该变量的值最终会成为真正的参数值。 有些命令以一个SQL标识的名称(比如一个表)为参数。这些参数遵循SQL语法关于双引号的规则:不带双引号的标识强制转换成小写,而双引号保护字母不进行大小写转换,并且允许在标识符中使用空白。在双引号中,成对的双引号在结果名称中分析成一个双引号。比如,FOO"BAR"BAZ解析成fooBARbaz;而"Aweird""name"解析成A weird"name。 对参数的分析在遇到另一个不带引号的反斜杠时停止。这里会认为是一个新的元命令的开始。特殊的双反斜杠序列(\\)标识参数的结尾并将继续分析后面的SQL语句(如果存在)。这样SQL和gsql命令可以自由地在一行里面混合。但是在任何情况下,一条元命令的参数不能延续超过行尾。
  • 命令参考 详细的gsql参数请参见表1、表2、表3和表4。 表1 常用参数 参数 参数说明 取值范围 -c, --command=COMMAND 声明gsql要执行一条字符串命令然后退出。 - -d, --dbname=DBNAME 指定想要连接的数据库名称。 另外,gsql允许使用扩展的DBNAME,即'postgres[ql]://[user[:password]@][netloc][:port][,...][/dbname][?param1=value1&...]'或'[key=value] [...]'形式的连接串作为DBNAME,gsql将从连接串中解析连接信息,并优先使用这些信息。 字符串。 -f, --file=FILENAME 使用文件作为命令源而不是交互式输入。gsql将在处理完文件后结束。如果FILENAME是-(连字符),则从标准输入读取。 绝对路径或相对路径,且满足操作系统路径命名规则。 -l, --list 列出所有可用的数据库,然后退出。 - -v, --set, --variable=NAME=VALUE 设置gsql变量NAME为VALUE。 变量的示例和详细说明请参见变量。 - -X, --no-gsqlrc 不读取启动文件(系统范围的gsqlrc或者用户的~/.gsqlrc都不读取)。 说明: 启动文件默认为~/.gsqlrc,或通过PSQLRC环境变量指定。 - -1 ("one"), --single-transaction 当gsql使用-f选项执行脚本时,会在脚本的开头和结尾分别加上START TRANSACTION/COMMIT用以把整个脚本当作一个事务执行。这将保证该脚本完全执行成功,或者脚本无效。 说明: 如果脚本中已经使用了START TRANSACTION,COMMIT,ROLLBACK,则该选项无效。 - -?, --help 显示关于gsql命令行参数的帮助信息然后退出。 - -V, --version 打印gsql版本信息然后退出。 - 表2 输入和输出参数 参数 参数说明 取值范围 -a, --echo-all 在读取行时向标准输出打印所有内容。 注意: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 - -e, --echo-queries 把所有发送给服务器的查询同时回显到标准输出。 注意: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 - -E, --echo-hidden 回显由\d和其他反斜杠命令生成的实际查询。 - -k, --with-key=KEY 使用gsql对导入的加密文件进行解密。 须知: 对于本身就是shell命令中的关键字符如单引号(')或双引号("),Linux shell会检测输入的单引号(')或双引号(")是否匹配。如果不匹配,shell认为用户没有输入完毕,会一直等待用户输入,从而不会进入到gsql程序。 不支持解密导入存储过程和函数。 - -L, --log-file=FILENAME 除了正常的输出源之外,把所有查询输出记录到文件FILENAME中。 注意: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 此参数只保留查询结果到相应文件中,主要目标是为了查询结果能够更好更准确地被其他调用者(例如自动化运维脚本)解析;而不是保留gsql运行过程中的相关日志信息。 绝对路径或相对路径,且满足操作系统路径命名规则。 -m, --maintenance 允许在两阶段事务恢复期间连接数据库。 说明: 该选项是一个开发选项,禁止用户使用,只限专业技术人员使用,功能是:使用该选项时,gsql可以连接到备机,用于校验主备机数据的一致性。 - -n, --no-libedit 关闭命令行编辑。 - -o, --output=FILENAME 将所有查询输出重定向到文件FILENAME。 绝对路径或相对路径,且满足操作系统路径命名规则。 -q, --quiet 安静模式,执行时不会打印出额外信息。 缺省时gsql将打印许多其他输出信息。 -s, --single-step 单步模式运行。意味着每个查询在发往服务器之前都要提示用户,用这个选项也可以取消执行。此选项主要用于调试脚本。 注意: 使用此参数可能会暴露部分SQL语句中的敏感信息,如创建用户语句中的password信息等,请谨慎使用。 - -S, --single-line 单行运行模式,这时每个命令都将由换行符结束,像分号那样。 - 表3 输出格式参数 参数 参数说明 取值范围 -A, --no-align 切换为非对齐输出模式。 缺省为对齐输出模式。 -F, --field-separator=STRING 设置域分隔符(默认为“|”)。 - -H, --html 打开HTML格式输出。 - -P, --pset=VAR[=ARG] 在命令行上以\pset的风格设置打印选项。 说明: 这里必须用等号而不是空格分隔名称和值。例如,把输出格式设置为LaTeX,可以键入-P format=latex - -R, --record-separator=STRING 设置记录分隔符。 - -r 开启在客户端操作中可以进行编辑的模式。 缺省为关闭。 -t, --tuples-only 只打印行。 - -T, --table-attr=TEXT 允许声明放在HTML table标签里的选项。 使用时请搭配参数“-H,--html”,指定为HTML格式输出。 - -x, --expanded 打开扩展表格式模式。 - -z, --field-separator-zero 设置非对齐输出模式的域分隔符为空。 使用时请搭配参数“-A, --no-align”,指定为非对齐输出模式。 - -0, --record-separator-zero 设置非对齐输出模式的记录分隔符为空。 使用时请搭配参数“-A, --no-align”,指定为非对齐输出模式。 - -2, --pipeline 使用管道传输密码,禁止在终端使用,必须和-c或者-f参数一起使用。 - 表4 连接参数 参数 参数说明 取值范围 -h, --host=HOSTNAME 指定正在运行服务器的主机名或者UNIX域套接字的路径。 如果省略主机名,gsql将通过UNIX域套接字与本地主机的服务器相连,或者在没有UNIX域套接字的机器上,通过TCP/IP与localhost连接。 -p, --port=PORT 指定数据库服务器的端口号。 可以通过port参数修改默认端口号。 默认端口可通过编译参数来指定,不指定的话默认为5432。 -U, --username=USERNAME 指定连接数据库的用户。 说明: 通过该参数指定用户连接数据库时,需要同时提供用户密码用以身份验证。您可以通过交换方式输入密码,或者通过-W参数指定密码。 用户名中包含有字符$,需要在字符$前增加转义字符才可成功连接数据库。 字符串,默认使用与当前操作系统用户同名的用户。 -W, --password=PASSWORD 当使用-U参数连接本地数据库或者连接远端数据库时,可通过该选项指定密码。 说明: 登录数据库主节点所在服务器后连接本地数据库主节点实例时,默认使用trust连接,会忽略此参数。 用户密码中包含特殊字符“\”和"`"时,需要增加转义字符才可成功连接数据库。 如果用户未输入该参数,但是数据库连接需要用户密码,这时将出现交互式输入,请用户输入当前连接的密码。该密码最长长度为999字节,受限于GUC参数password_max_length的最大值。 字符串。 父主题: gsql
  • 备份会保存多久? 手动备份: 一般为manualbk_xxxx或自定义名称的备份。 如果不自行删除且账户余额充足且账户余额充足,则备份数据会一直保留。 如果账户余额不足且未及时补充欠款,备份数据将自动被系统释放且无法恢复。 自动备份: 一般为autobk_xxxx名称的备份。 如果已经在策略中设置保留规则,则备份一般将会按照保留规则进行保留和自动删除。 如果策略执行期间修改保留规则,则可能会出现备份没有被自动删除的情况,具体原因请参考保留策略修改后为什么没有生效? 父主题: 备份类
  • 实现跨区域复制备份,需要购买哪些资源? 如果您希望实现跨区域复制备份,则需要购买创建以下资源: 生产端的云服务器备份存储库:用于存放生产端产生的云服务器备份 容灾端的复制存储库:容灾端用于存放生产端复制至容灾端的备份 跨区域复制流量包(可选):复制操作过程会产生流量,可用流量包抵扣 如果不购买跨区域复制流量包,则会使用按需计费。流量包大小建议根据实际传输的备份存储容量大小进行购买。流量包仅包含流量费,不包含复制备份产生的容量费用。 父主题: 计费类
  • 云备份存储库已使用容量为什么突然激增? 存储库已使用容量突然激增可能是因为对数据做校验时未通过,自动将备份任务转为全量备份导致。 系统在备份时会不定期地对依赖的历史数据做一些校验,当校验不通过时,为了备份数据更可靠,系统会单独对当前资源进行一次全量备份。 一般校验不通过的场景包括但不限于校验时OBS 返回的异常,例如被流控,网络丢包或时延突然增大导致的读数据异常,EVS快照的读取异常等。 由于用户没有设置周期性全量备份,所以上层下发备份指令时都是下发的增量备份,但底层做备份时校验历史数据时校验不通过则自动将备份任务转成了全量备份。界面上显示的增量和全量 ,是由上层下发的指令所决定。底层主动转的全量备份不会反向同步给上层,所以上层不感知也不会显示为全量备份。 父主题: 容量类
  • 为什么新版服务中的备份也会出现在旧版服务? 如果您已完成旧版服务迁移备份至新版服务,在新版的云备份服务创建备份后,会同时在旧版的云硬盘备份服务中产生相同的备份记录。 这是由于底层机制,旧版的云硬盘备份会展示包括云备份、云服务器备份以及云硬盘备份产生的所有备份,但这些备份不会重复计费,仅作为界面展示。 如果您希望删除旧版云硬盘备份服务中的备份,需要在新版服务中找到对应的备份进行删除,则旧版服务的备份也会同时删除,无法在旧版服务中删除。 父主题: 计费类
  • 备份和镜像的区别 云备份和 镜像服务 区别主要有以下几点,如表1所示。 表1 备份和镜像的区别 对比维度 云备份 镜像服务 概念 备份是将云服务器或者云硬盘某一时间节点的状态、配置和数据信息保存下来,以供故障时进行恢复,其目的是为了保证数据安全,提升高可用性。 镜像相当于云服务器的“装机盘”,它提供了启动云服务器所需的所有信息,其目的是为了创建云服务器,批量部署软件环境。系统盘镜像包含运行业务所需的操作系统、应用软件,数据盘包含业务数据。整机镜像是系统盘镜像和数据盘镜像的总和。 使用方式 数据存储位置:与服务器/磁盘数据分开存储,存储在对象存储(OBS)中。如果将创建备份的云硬盘删除,对应的备份不会被同时删除。 操作对象:保存云服务器/磁盘指定时刻的数据,可以设置自动备份和过期自动删除。 用途:备份可以恢复数据至原服务器/磁盘中,也可以直接创建新的磁盘或整机镜像。 是否可以导出至本地:否。 数据存储位置:与服务器/磁盘数据分开存储,存储在对象存储(OBS)中。如果将创建镜像的服务器/磁盘删除,对应的镜像不会被同时删除。 操作对象:可以将服务器的系统盘和数据盘制作为私有镜像,也可以通过外部镜像文件制作私有镜像。 用途:系统盘镜像或整机镜像可以创建新的服务器,数据盘镜像可以创建新的磁盘,实现业务迁移。 是否可以导出至本地:是。整机镜像不支持导出至本地。 应用场景 适用场景: 数据备份与恢复 业务快速部署和迁移 适用场景: 服务器上云或云上迁移 部署特定软件环境 批量部署软件环境 服务器运行环境备份 优势 支持自动备份,可以定时定量保留服务器/磁盘某一时间节点的数据。支持备份云下VMware虚拟机,并同步至云上,在云上使用备份恢复数据至新的云服务器。 可以备份系统盘。可以将本地或者其他云平台的服务器数据盘镜像文件导入至镜像服务中。导入后,可使用该镜像创建新的云硬盘。 备份和镜像虽然存储在 对象存储服务 中,但不占用用户的资源,所以用户无法从对象存储服务中看到备份和镜像数据。备份的费用按照备份服务的计费标准收取,镜像仅按照对象存储服务的标准收取存储费用。
  • 如何区分备份是自动备份还是手动备份? 如果您未修改备份名称,一般通过备份名称的前缀进行区分。周期性自动备份和一次性手动备份的默认名称如下: 自动备份:autobk_xxxx 手动备份:manualbk_xxxx或自定义 如果您已修改备份名称并且删除备份名称前缀,修改完成后暂无法区分备份是自动备份还是手动备份。为了您方便识别,建议您备份名称保留autobk_的前缀。修改名称不会影响系统对于自动备份和手动备份的区分,自动备份将仍会按照策略的保留规则自动过期。 父主题: 备份类
  • 收到备份失败的短信或邮件应如何处理? 如您收到备份失败的短信或邮件,则说明某一区域的某个或多个存储库存在备份失败的情况。 短信和邮件发送会存在延时的情况,当日备份失败后可能最长次日才会收到备份失败的短信或邮件。如您当日已对存储库容量进行处理,并且确认存储库容量无异常,您可以忽略次日的短信或邮件的提醒。 您需要使用短信或邮件提示的账号,登录云备份管理控制台,前往短信或邮件提示的区域,查看每个备份页签下是否存在“存储库容量”一列为红色的存储库。如果存在,建议参考存储库存储容量不足怎么办?对存储库进行处理。 父主题: 其他类
  • 如何停用云备份服务? 如您 购买云服务器 时购买了云备份,但后续希望停用云备份,可前往云备份界面将云服务器备份、云硬盘备份、SFS Turbo备份和混合云备份中所有的存储库删除即可。如图1所示。 如果云服务器备份提示无法删除,请确认备份是否用于创建镜像,并且镜像已经被删除。 未迁移资源时,需要返回旧版界面进行删除备份。 旧版的云硬盘备份中的云服务器备份,需要前往云服务器备份页面删除。 图1 停用云备份服务 父主题: 计费类
  • 服务器变更后能否使用备份恢复数据? 如果您的服务器做过备份后进行变更(添加、删除、扩容云硬盘),还可以使用原有的备份恢复数据。建议您在变更后重新做备份。 如果备份后用户添加了云硬盘,再使用备份进行恢复,则添加的云硬盘数据不会改变。 如果备份后用户删除了云硬盘,再使用备份进行恢复,则删除的云硬盘不会被恢复。 如果备份后用户对服务器切换系统,再使用系统盘备份进行恢复原系统盘,则由于磁盘UUID的改变将导致系统盘备份恢复不成功。如果是整机备份,切换操作系统后不支持直接恢复,恢复前需要切换为之前的操作系统。 如果是文件备份,操作系统被重装之后,仍然可以使用之前的备份恢复数据。 父主题: 恢复类
  • 一个存储库绑定多个资源时,备份保留策略如何生效? 如果一个存储库绑定多个资源,且绑定备份策略,备份策略的保留规则针对每一个资源生效。 例如,当一个存储库绑定了2台云服务器,并设置备份策略的保留规则为按数量保留最新的5个副本,该策略绑定至存储库并启用后,会保留每台云服务器最新的5个备份副本,总共10个备份副本。若保留规则设置为按时间保留,保留1个月后系统将自动删除最早产生的备份,会保留每台云服务器最近一个月的备份副本。 父主题: 备份类
  • 安装方法 建议您在使用备份恢复服务器后先安装Cloud-Init/Cloudbase-Init,安装方法如下: 如果是Windows操作系统,请下载并安装Cloudbase-Init。 安装Cloudbase-Init相关操作请参考:安装Cloudbase-Init。 如果是Linux操作系统,请下载并安装Cloud-Init。 安装Cloud-Init相关操作请参考:安装Cloud-Init。 配置Cloud-Init相关操作请参考:配置Cloud-Init。
  • 计费项 云备份计费项包括存储费和流量费,存储费根据存储库的不同进行收取。详细的计费项目如下所示: 表1 云备份计费项 资费项 计费项 计费项说明 适用的计费模式 计费公式 存储费 云硬盘备份存储库 备份云硬盘时,需要购买云硬盘备份存储库用于存放云硬盘产生的备份。 计费因子:存储库容量。 按需计费 包年包月 按需计费:存储库每GB单价 *存储库容量* 购买时长 包年/包月:详细的资费项费率标准请参见产品价格详情中“云备份”的内容。 云服务器备份存储库 备份普通云服务器(不包含数据库等应用)时,需要购买云服务器备份存储库用于存放云服务器产生的备份。 计费因子:存储库容量。 按需计费 包年包月 SFS Turbo备份存储库 备份SFS Turbo文件系统时,需要购买SFS Turbo备份存储库用于存放SFS Turbo文件系统产生的备份。 计费因子:存储库容量。 按需计费 包年包月 数据库服务器备份存储库 备份部署了数据库等应用的云服务器时,需要购买数据库服务器备份存储库用于存放数据库服务器备份产生的备份。 购买方式:在创建云服务器备份存储库时,勾选“启用数据库备份”。更多关于数据库服务器备份的介绍,请参见数据库服务器备份概述。 计费因子:存储库容量。 按需计费 包年包月 混合云备份存储库 备份用户云下数据中心的VMware虚拟机、本地文件目录时,需要购买混合云备份存储库用于存放云下IDC产生的备份。 计费因子:存储库容量。 按需计费 包年包月 云桌面 备份存储库 备份云桌面时,需要购买云桌面备份存储库用于存放云桌面产生的备份。 计费因子:存储库容量。 按需计费 包年包月 复制存储库 使用跨区域复制备份功能时,在复制的目标区域购买。 计费因子:存储库容量。 按需计费 包年包月 专属云备份存储库 专属云客户可选择将数据备份到专属云备份存储库中。 计费因子:存储库容量 按需计费 包年包月 流量费 公网流出流量 使用混合云备份的云上备份恢复云下IDC时,会产生公网流出流量。 限时免费 限时免费 跨区域复制流量 在进行跨区域复制备份/存储库时,会在源区域产生跨区域复制流量。 计费因子:存储库容量、流量大小。 按需计费 按需计费:跨区域复制流量 * 每GB单价
  • 计费示例 【案例一】 备份普通云服务器按需计费实例: 例如某用户有100GB的云服务器,在华北-北京四购置400GB的云服务器备份存储库A,并将该云服务器绑定至存储库A中。则收取400GB的云服务器备份存储库费用。 【案例二】 部署数据库等应用云服务器按需计费实例: 例如某用户有100GB的部署数据库的云服务器,在华北-北京四购置800GB的数据库服务器备份存储库A,并将该云服务器备份绑定至存储库A中。则收取800GB的数据库服务器备份存储库费用。 【案例三】 将备份跨区域复制至其他区域按需计费实例: 某用户在华北-北京四购买容量为100GB的云服务器备份存储库A,其中备份数据占用40GB存储库空间。该用户在华南-广州区域购买了容量为200GB的复制存储库B,并将存储库A复制至华南-广州区域复制存储库B中,不使用加速。则收取100GB云服务器备份存储库、200GB复制存储库的存储库容量费和40GB的跨区域复制流量费。
  • Debian 9.5:查看版本号失败和Cloud-Init设置开启自启动失败 Cloud-Init安装完成后,执行以下命令查看版本号。 cloud-init -v 回显信息如下所示: -bash:/usr/bin/cloud-init:not found this command 解决方法:执行命令 # cp /usr/local/bin/cloud-init /usr/bin/将cloud-init 复制至usr/bin目录下 执行命令cloud-init init --local 回显信息如下所示: 图5 设置Cloud-Init自启动回显信息 原因分析:未安装gcc导致无法编译。 解决方法: 执行以下命令安装gcc后重新安装Cloud-Init yum -y install gcc 执行以下命令设置Cloud-Init为开机自启动时提示失败: systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 回显信息提示如下所示: 图6 设置Cloud-Init自启动提示失败 解决方法: 执行以下命令。 # systemctl unmask cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 执行以下命令,重新设置Cloud-Init为开机自启动 # systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 执行以下命令,重启Cloud-Init # systemctl restart cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 然后执行命令systemctl status查看服务状态。回显信息如下所示: 图7 查看服务状态
  • 云备份存储库存储容量不足怎么办? 当存储库存储容量超过上限后,系统将不会继续执行备份,不会出现新备份覆盖旧备份的情况。 您可以通过扩容存储库、减少备份副本数量和迁移存储库资源三种方式,解决容量不足的问题。 扩容存储库 如果还需要保留产生的备份,可以选择扩容存储库,具体操作请参见扩容存储库。 减少备份副本数量 前往目标存储库,手动删除不需要的备份。 如果存储库绑定了备份策略 可以将自动备份周期变长、保留时间缩短(自动删除保留超时的备份)、减少绑定服务器数等方式减少备份数量。 可以选择停止备份策略或从策略中解绑存储库,具体操作请参见停止备份策略和从策略中解绑存储库。停止后,自动备份将停止,存储库存储容量将不再变化。 迁移存储库资源 通过迁移资源功能,您可以将某个资源从当前存储库中解绑并重新绑定至另一存储库,该资源产生的所有备份也会从当前存储库迁移至目标存储库中。具体操作请参见迁移存储库的资源。 父主题: 容量类
  • CentOS 7/Fedora 28操作系统:安装Cloud-Init时提示未安装所需的C编译器 问题描述 Cloud-Init安装完成后,执行以下命令 cloud-init init --local 回显信息出现以下警告: /usr/lib/python2.5/site-packages/Cheetah/Compiler.py:1532: UserWarning: You don‘t have the C version of NameMapper installed! I‘m disabling Cheetah‘s useStackFrames option as it is painfully slow with the Python version of NameMapper. You should get a copy of Cheetah with the compiled C version of NameMapper. "\nYou don‘t have the C version of NameMapper installed! 原因分析 出现该警告是因为在安装Cloud-Init时,需要编译c版本的NameMapper,但是该系统没有预装gcc,因此无法编译,这才导致c版本的NameMapper缺失。 处理方法 执行以下命令安装gcc yum -y install gcc 然后再重新安装Cloud-Init
  • CentOS 7/Fedora操作系统:Cloud-Init安装成功,使用备份创建/恢复的云服务器无法使用新密码登录。 问题描述 Cloud-Init安装成功后,启动新的云服务器,发现新密码无效。使用旧密码登录进去后发现,网卡没有启动: 图8 网卡未启动 解决方法 登录云服务器,打开dhcp配置文件/etc/sysconfig/network-scripts/ifcfg-ethX,注释HWADDR这一项。
  • Ubuntu 16.04/CentOS 7:Cloud-Init设置自启动失败 问题描述: 安装Cloud-Init后,执行以下命令设置Cloud-Init为开机自启动时提示失败: systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 回显信息如下所示: 图1 设置Cloud-Init自启动失败 解决方法: 执行以下命令 systemctl unmask cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 执行以下命令,重新设置Cloud-Init为开机自启动 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 执行以下命令,检查Cloud-Init服务状态 systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 回显信息如下所示,提示failed且所有的服务状态都是inactive。 原因是系统查询Cloud-Init的地址指向/usr/bin/,但是实际安装路径指定的是/usr/local/bin,因此出现了上述错误。 图2 检查Cloud-Init服务状态 图3 检查Cloud-Init服务状态 请执行命令cp /usr/local/cloud-init /usr/bin/将cloud-init 复制至usr/bin目录下,再执行以下命令重启Cloud-Init。 # systemctl restart cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 图4 重启Cloud-Init 执行以下命令,检查Cloud-Init服务状态。 systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service
  • Ubuntu14.04:未安装chkconfig和systemctl 问题描述: 未安装chkconfig 解决方法: Ubuntu14.04执行以下命令安装chkconfig: # apt-get update # apt-get install sysv-rc-conf # cp /usr/sbin/sysv-rc-conf /usr/sbin/chkconfig 安装完成后,执行以下命令查看版本号。 cloud-init -v 如果回显信息如下所示: -bash:/usr/bin/cloud-init:not found this command 解决方法:执行以下命令将cloud-init 复制至usr/bin目录下。 # cp /usr/local/bin/cloud-init /usr/bin/
  • 如何查看备份中的数据? 您可以通过以下几种方式进行查看: 通过镜像创建云服务器无法直接从云备份控制台查看备份中的数据。 云服务器备份 使用云服务器备份创建镜像,相关操作请参考使用备份创建镜像。 使用镜像创建云服务器,相关操作请参考通过镜像创建云服务器。 登录云服务器,查看服务器中的数据。 云硬盘备份 使用云硬盘备份创建新的云硬盘,相关操作请参考使用备份创建新云硬盘。 将新创建的磁盘挂载至新的服务器,相关操作请参考挂载非共享云硬盘或挂载共享云硬盘。 登录云服务器,查看磁盘中的数据。 SFS Turbo备份 使用SFS Turbo备份创建新的文件系统,相关操作请参考使用备份创建新文件系统。 将文件系统挂载至云服务器。 相关操作请参考挂载NFS协议类型文件系统到云服务器(Linux)。 登录云服务器,查看文件系统中的数据。 父主题: 备份类
  • 背景说明 某用户在华北-北京四区域有一台弹性云服务器,该服务器仅有一块系统盘。为了实现跨区域的容灾能力,以及在其他区域快速进行业务部署,需要在其他区域创建相同的服务器,并且拥有相同的数据。可以使用云服务器备份,实现以上场景。 本次将华北-北京四的弹性云服务器跨区域复制至华南-广州,需要先对华北-北京四区域的E CS 进行备份,再将该备份复制至华南-广州区域,在华南-广州使用该备份创建整机镜像,再使用镜像创建云服务器,即可实现跨区域迁移。
  • 如何将原服务器数据恢复至新创建的服务器? 将原服务器数据恢复至新创建的服务器,有以下两种方法。 方法一: 要将原服务器数据恢复到另一个服务器上,可以使用云服务器备份创建镜像后,再创建一台新的服务器。相关操作请参考使用备份创建镜像 。 方法二: 如果已经创建新的服务器,可以参考以下步骤恢复数据。 使用此方法恢复数据,数据可能无法保证一致性。 创建云硬盘备份 相关操作请参考快速创建云硬盘备份,执行备份时需要备份原服务器的每个磁盘。 创建磁盘 使用每个磁盘的备份创建新的磁盘,相关操作请参考使用备份创建新云硬盘。 将新创建的磁盘挂载至新的服务器,相关操作请参考挂载非共享云硬盘或挂载共享云硬盘。 父主题: 恢复类
  • 云服务器备份和云硬盘备份有什么区别? 两者的主要差异如表1所示。 表1 云服务器备份和云硬盘备份的区别 对比维度 云服务器备份 云硬盘备份 备份/恢复对象 服务器中的全部(系统盘和数据盘)或部分云硬盘 指定的单个或多个磁盘(系统盘或数据盘) 推荐场景 需要对整个云服务器进行保护 系统盘没有个人数据,因而只需要对部分的数据盘进行备份 优势 备份的同一个服务器下的所有磁盘数据具有一致性,即同时对所有云硬盘进行备份,不存在因备份创建时间差带来的数据不一致问题。 保证数据安全的同时降低备份成本 父主题: 概念类
  • 通过备份恢复服务器,会对原备份做哪些修改? 对于Linux操作系统: 检查pvdriver相关驱动是否存在,如果存在,将删除相关驱动。 修改grub和syslinux配置文件,增加内核启动参数,并将磁盘分区名改成“UUID=磁盘分区的UUID”。 检查“/etc/fstab”文件中的磁盘分区名并修改成“UUID=磁盘分区的UUID”。 删除VMware tools对应的服务。 Linux操作系统会复制自带的virtio前端驱动到initrd或initramfs中去。 对于Windows操作系统: 离线注入virtio驱动,解决在没有安装UVP VMTools情况下系统无法正常启动的问题。 父主题: 恢复类
  • 按时间保留修改为按数量保留 新策略和原策略均会生效,原策略产生的备份会按照原策略的时间自动过期,也会按照新策略规定的个数自动删除。具体生效情况将取原策略和新策略的并集进行保留。 原策略产生的备份按照新策略生效 例如:某用户在8月5日上午10:00设置策略A的备份时间为每天凌晨02:00,保留策略为按时间1个月删除,并绑定了一个磁盘。8月8日上午10:00,保留策略保留了3个备份,该用户修改了策略,将保留策略修改为按数量保留7个。8月15日上午10:00,8月9、10、11、12、13、14、15日产生的备份依然存在。8月6、7、8日的备份已按照新策略进行删除。 原策略产生的备份按照原策略生效 例如:某用户在8月5日上午10:00设置策略A的备份时间为每天凌晨02:00,保留策略为按时间保留3天删除,并绑定了一个磁盘。8月8日上午10:00,保留策略保留了3个备份,该用户修改了策略,将保留策略修改为按数量保留7个。8月10日上午10:00,8月8、9、10日产生的备份依然存在。8月6、7日的备份已按照原策略进行删除。
  • 按时间保留修改为按时间保留/永久保留 新策略对原策略产生的备份不会生效,仅对新产生的备份生效,原策略产生的备份依旧遵循原策略规则。 例如:某用户在8月5日上午10:00设置策略A的备份时间为每天凌晨02:00,保留策略为按时间1个月删除,并绑定了一个磁盘。8月8日上午10:00,保留策略保留了3个备份,该用户修改了策略,将保留策略修改为按时间3个月删除。9月6日凌晨02:00,原策略产生的8月6日的备份将被删除,8月9日产生的备份将在两个月后删除。
  • 包含数据库的服务器是否可以备份? 支持。云服务器备份提供数据库服务器备份,兼容性请参考表1。针对不兼容的应用数据库,建议在备份前,暂停所有数据的写操作,再进行备份;如果无法暂停写操作,则可以将应用系统停止或者将服务器停机,进行离线的备份;如果备份前不进行任何操作,则恢复后,服务器的状态类似异常掉电后再启动,数据库会进行日志回滚操作保证一致性。 表1 支持安装客户端的操作系统列表 数据库名称 操作系统类型 版本范围 SQLServer 2008/2012/2019 Windows Windows Server 2008, 2008 R2, 2012, 2012 R2, 2019 for x86_64 SQLServer 2014/2016/EE Windows Windows Server 2014, 2014 R2, 2016 Datacenter for x86_64 MySQL 5.5/5.6/5.7 Red Hat Red Hat Enterprise Linux 6, 7 for x86_64 SUSE SUSE Linux Enterprise Server 11, 12, 15 SP1, 15 SP2 for x86_64 CentOS CentOS 6, 7 for x86_64 Euler Euler OS 2.2, 2.3 for x86_64 HANA 1.0/2.0 SUSE SUSE Linux Enterprise Server 12 for x86_64 父主题: 备份类
共99354条