指定数据库参数 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

指定数据库参数

数据库参数类型包括:

  • 整数

  • Boolean

  • 字符串

  • 长整型

  • Double

  • 时间戳

  • 其他定义的数据类型的对象

  • 整数、布尔值、字符串、long、double、时间戳或对象类型的值的数组

您还可以使用表达式、公式和函数指定整数和布尔参数。

数据库参数公式

数据库参数公式是一种可解析为整数值或布尔值的表达式。可以将表达式用大括号括起来:{}。可以为数据库参数值使用公式,也可以将公式用作数据库参数函数的参数。

语法
{FormulaVariable} {FormulaVariable*Integer} {FormulaVariable*Integer/Integer} {FormulaVariable/Integer}

数据库参数公式变量

每个公式变量会返回一个整数或布尔值。变量的名称是区分大小写的。

AllocatedStorage

返回一个整数,它表示数据卷的大小(以字节为单位)。

DBInstanceClassMemory

该变量会返回一个整数,表示数据库进程可用的内存字节数。将数据库实例类的总内存量减去为操作系统和管理实例的 RDS 进程预留的内存量,在内部计算得出该数字。因此,该数字总是略低于 Aurora 数据库实例类 中实例类表所示的内存数字。精确值取决于以下综合因素:实例类、数据库引擎,以及其适用于 RDS 实例还是适用于属于 Aurora 集群一部分的实例。

EndPointPort

返回一个整数,它表示连接到数据库实例时使用的端口。

数据库参数公式运算符

数据库参数公式支持两个运算符:除法和乘法。

除法运算符:/

用除数除以被除数,返回整数型商。商中的小数不四舍五入,直接截断。

语法

dividend / divisor

被除数和除数参数必须是整数型表达式。

乘法运算符:*

将表达式乘以表达式,返回表达式的乘积。表达式中的小数不四舍五入,直接截断。

语法

expression * expression

两个表达式必须都是整数型。

数据库参数函数

您可以将数据库参数函数的参数指定为整数或公式。每个函数必须具有至少一个参数。将多个参数指定为逗号分隔的列表。列表不能拥有任何空成员,如 argument1argument3。函数名称区分大小写。

IF

返回一个参数。

语法

IF(argument1, argument2, argument3)

如果第一个参数的计算结果为 true,则返回第二个参数。否则返回第三个参数。

GREATEST

返回整数型或者参数公式列表中最大的值。

语法

GREATEST(argument1, argument2,...argumentn)

返回整数。

LEAST

返回整数型或者参数公式列表中最小的值。

语法

LEAST(argument1, argument2,...argumentn)

返回整数。

SUM

添加指定整数型或者参数公式的值。

语法

SUM(argument1, argument2,...argumentn)

返回整数。

数据库参数日志表达式

您可以为日志表达式设置整数数据库参数值。可以将表达式用大括号括起来:{}。例如:

{log(DBInstanceClassMemory/8187281418)*1000}

log 函数表示日志基数 2。此示例还使用了 DBInstanceClassMemory 公式变量。请参阅 数据库参数公式变量

数据库参数值示例

这些示例展示了如何使用公式、函数和表达式来表达数据库参数的值。

注意

目前,仅在控制台中支持数据库参数函数,Amazon CLI 中不支持。

警告

在数据库参数组内设置参数不当可能会产生意外的不利影响。可能包括性能下降和系统不稳定。修改数据库参数时应保持谨慎,且修改数据库参数组前要备份数据。将参数组更改应用到生产数据库实例前,请在使用时间点还原创建的测试数据库实例上试用这些参数组更改。

例 使用数据库参数函数 LEAST

您可以指定 Aurora MySQL LEAST 参数值 中的 table_definition_cache 函数。使用它可以将可存储在定义缓存中的表定义的数量设置为 DBInstanceClassMemory/393040 或 20000 中的较小值。

LEAST({DBInstanceClassMemory/393040}, 20000)