Trabajo con los grupos de parámetros de base de datos - Amazon Relational Database Service

Trabajo con los grupos de parámetros de base de datos

Puede administrar su configuración del motor de la base de datos mediante la asociación de sus instancias de base de datos con grupos de parámetros. Amazon RDS define los grupos de parámetros con una configuración predeterminada que se aplica a instancias de base de datos recién creadas .

importante

Puede definir sus propios grupos de parámetros con una configuración personalizada. A continuación, puede modificar las instancias de bases de datos para utilizar sus propios grupos de parámetros.

Para obtener más información acerca de la modificación de una instancia de base de datos , consulte Modificación de una instancia de base de datos de Amazon RDS.

Un grupo de parámetros de base de datos sirve de contenedor para los valores de configuración del motor que se aplican a una o varias instancias de bases de datos. Los grupos de parámetros de base de datos de

Si crea una instancia de base de datos sin especificar un grupo de parámetros de bases de datos, la instancia de base de datos utilizará un grupo de parámetros de base de datos predeterminado. Cada grupo de parámetros de base de datos predeterminado contiene los valores predeterminados del motor de base de datos y los valores predeterminados del sistema Amazon RDS correspondientes al motor, la clase de computación y el almacenamiento asignado de la instancia. La configuración de los parámetros de un grupo de parámetros predeterminado no se puede modificar. En su lugar, cree su propio grupo de parámetros en el que elija sus propios ajustes de parámetros. No todos los parámetros del motor de base de datos pueden cambiarse en el grupo de parámetros que cree.

Si desea utilizar su propio grupo de parámetros, cree un nuevo grupo de parámetros y modifique los parámetros que desee. A continuación, modifique su instancia de base de datos para utilizar el nuevo grupo de parámetros. Si actualiza los parámetros en un grupo de parámetros de base de datos, los cambios se aplican a todas las instancias de base de datos que se asocian a ese grupo de parámetros.

Es posible copiar un grupo de parámetros de base de datos existente con el comando copy-db-parameter-group de la AWS CLI. Copiar un grupo de parámetros puede resultar práctico cuando desee incluir la mayoría de valores y parámetros personalizados de un grupo de parámetros de base de datos en un nuevo grupo de parámetros de base de datos.

Estos son algunos puntos importantes para utilizar los parámetros de un grupo de parámetros de base de datos:

  • Cuando se modifica un parámetro dinámico y se guarda el grupo de parámetros de base de datos, el cambio se aplica inmediatamente independientemente del estado de Apply Immediately (Aplicar inmediatamente). Cuando se cambia un parámetro estático y se guarda el grupo de parámetros de base de datos, el cambio de parámetros se aplicará después de reiniciar manualmente la instancia de base de datos. Puede reiniciar una instancia de base de datos utilizando la consola de RDS o invocando explícitamente la operación RebootDbInstance de la API (sin conmutación por error, si la instancia de base de datos está en una implementación Multi-AZ). El requisito de reiniciar la instancia de base de datos asociada después de cambiar los parámetros estáticos ayuda a mitigar el riesgo de que una configuración errónea de parámetros afecte a una llamada a la API como, por ejemplo, llamar a ModifyDBInstance para cambiar la clase de instancia de base de datos o escalar el almacenamiento.

    Por ejemplo, si la instancia de base de datos no está utilizando los cambios más recientes del grupo de parámetros de base de datos asociado, la Consola de administración de AWS muestra el grupo de parámetros de base de datos con el estado pending-reboot. El estado de los grupos de parámetros pending-reboot no genera un reinicio automático durante la siguiente ventana de mantenimiento. Para aplicar los cambios de parámetros más recientes en esa instancia de base de datos, reinicie manualmente la instancia de base de datos.

  • Cuando se cambia el grupo de parámetros de base de datos asociado a una instancia de base de datos, se debe reiniciar manualmente la instancia para que esta utilice el nuevo grupo de parámetros de base de datos. Para obtener información sobre el cambio del grupo de parámetros de base de datos, consulte Modificación de una instancia de base de datos de Amazon RDS.

  • Puede especificar el valor de un parámetro de base de datos como una expresión entera construida a partir de fórmulas, variables, funciones y operadores. Las funciones pueden incluir una expresión logarítmica matemática. Para obtener más información, consulte Valores de los parámetros de base de datos.

  • Establezca los parámetros relacionados con la intercalación o el conjunto de caracteres de la base de datos en el grupo de parámetros antes de crear la instancia de base de datos y antes de crear una base de datos en la instancia de base de datos. De este modo, la base de datos predeterminada y las bases de datos nuevas de la instancia de base de datos utilizarán los valores de la intercalación y del conjunto de caracteres que especifique. Si cambia los parámetros de la intercalación o del conjunto de caracteres para la instancia de base de datos, los cambios de parámetros no se aplicarán a las bases de datos existentes.

    Puede cambiar los valores de la intercalación o del conjunto de caracteres para una base de datos existente mediante el comando ALTER DATABASE; por ejemplo:

    ALTER DATABASE database_name CHARACTER SET character_set_name COLLATE collation;
  • Si se configuran de forma incorrecta los parámetros de un grupo de parámetros de base de datos, pueden producirse efectos adversos no deseados, como la degradación del rendimiento y la inestabilidad del sistema. Realice siempre cualquier modificación de los parámetros de base de datos con cuidado y haga una copia de seguridad de los datos antes de modificar un grupo de parámetros de base de datos. Pruebe los cambios de configuración de los grupos de parámetros en una instancia de base de datos de prueba antes de aplicar dichos cambios a una instancia de base de datos de producción.

  • Para determinar los parámetros compatibles con su motor de base de datos, puede consultar los parámetros en el grupo de parámetros de base de datos utilizado por el clúster de base de datos de de la instancia de base de datos de . Para obtener más información, consulte Visualización de los valores de los parámetros de un grupo de parámetros de base de datos.

Creación de un grupo de parámetros de base de datos

Puede crear un nuevo grupo de parámetros de base de datos mediante la Consola de administración de AWS, la AWS CLI o la API de RDS.

Para crear un grupo de parámetros de base de datos

  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, seleccione Parameter groups (Grupos de parámetros).

  3. Elija Create parameter group.

    Aparece la ventana Create parameter group (Crear grupo de parámetros).

  4. En la lista Parameter group family (Familia de grupos de parámetros), seleccione una familia de grupos de parámetros de base de datos.

  5. En la lista Type (Tipo), seleccione DB Parameter Group (Grupo de parámetros de base de datos).

  6. En el cuadro Group name (Nombre de grupo), escriba el nombre del nuevo grupo de parámetros de base de datos.

  7. En el cuadro Description (Descripción), escriba una descripción para el nuevo grupo de parámetros de base de datos.

  8. Seleccione Create.

Para crear un grupo de parámetros de base de datos, utilice el comando create-db-parameter-group de la AWS CLI. En el siguiente ejemplo se crea un grupo de parámetros de base de datos denominado mydbparametergroup para MySQL versión 5.6 con la descripción “My new parameter group”.

Incluya los siguientes parámetros obligatorios:

  • --db-parameter-group-name

  • --db-parameter-group-family

  • --description

Para mostrar todas las familias de grupos de parámetros disponibles, use el siguiente comando:

aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
nota

La salida contiene duplicados.

ejemplo

Para Linux, macOS o Unix:

aws rds create-db-parameter-group \ --db-parameter-group-name mydbparametergroup \ --db-parameter-group-family MySQL5.6 \ --description "My new parameter group"

Para Windows:

aws rds create-db-parameter-group ^ --db-parameter-group-name mydbparametergroup ^ --db-parameter-group-family MySQL5.6 ^ --description "My new parameter group"

El resultado de este comando debería ser similar al siguiente:

DBPARAMETERGROUP mydbparametergroup mysql5.6 My new parameter group

Para crear un grupo de parámetros de base de datos, utilice la operación CreateDBParameterGroup de la API de RDS.

Incluya los siguientes parámetros obligatorios:

  • DBParameterGroupName

  • DBParameterGroupFamily

  • Description

Modificación de parámetros de un grupo de parámetros de base de datos

Es posible modificar los valores de los parámetros de un grupo de parámetros de base de datos creado por el cliente; no es posible modificar los valores de los parámetros de un grupo de parámetros de base de datos predeterminado. Los cambios realizados en los parámetros de un grupo de parámetros de base de datos creado por el cliente se aplican a todas las instancias de bases de datos asociadas al grupo de parámetros de base de datos.

Los cambios en algunos parámetros se aplican a la instancia de base de datos inmediatamente sin necesidad de reiniciar. Los cambios en otros parámetros se aplican únicamente después de reiniciar la instancia de base de datos. La consola de RDS muestra el estado del grupo de parámetros de base de datos asociado a una instancia de base de datos en la pestaña Configuration (Configuración). Por ejemplo, si la instancia de base de datos no está utilizando los cambios más recientes del grupo de parámetros de base de datos que tiene asociado, la consola de RDS muestra el grupo de parámetros de base de datos con el estado pending-reboot. Para aplicar los cambios de parámetros más recientes en esa instancia de base de datos, reinicie manualmente la instancia de base de datos.


				Escenario de cambios de parámetros pendientes de reinicio

Para modificar un grupo de parámetros de base de datos

  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, seleccione Parameter groups (Grupos de parámetros).

  3. En la lista, seleccione el grupo de parámetros que desea modificar.

  4. En Parameter group actions (Acciones de grupos de parámetros), seleccione Edit (Editar).

  5. Cambie los valores de los parámetros que desee modificar. Puede desplazarse por los parámetros utilizando las teclas de flecha de la parte superior derecha del cuadro de diálogo.

    No puede cambiar los valores de un grupo de parámetros predeterminado.

  6. Elija Save changes.

Para modificar un grupo de parámetros de base de datos, utilice el comando modify-db-parameter-group de la AWS CLI con los siguientes parámetros obligatorios:

  • --db-parameter-group-name

  • --parameters

En el siguiente ejemplo se modifican los valores de max_connections y max_allowed_packet en el grupo de parámetros de base de datos denominado mydbparametergroup.

ejemplo

Para Linux, macOS o Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name mydbparametergroup \ --parameters "ParameterName=max_connections,ParameterValue=250,ApplyMethod=immediate" \ "ParameterName=max_allowed_packet,ParameterValue=1024,ApplyMethod=immediate"

Para Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name mydbparametergroup ^ --parameters "ParameterName=max_connections,ParameterValue=250,ApplyMethod=immediate" ^ "ParameterName=max_allowed_packet,ParameterValue=1024,ApplyMethod=immediate"

El comando produce un resultado similar al siguiente:

DBPARAMETERGROUP mydbparametergroup

Para modificar un grupo de parámetros de base de datos, utilice el comando ModifyDBParameterGroup de la API de RDS con los siguientes parámetros necesarios:

  • DBParameterGroupName

  • Parameters

Copia de un grupo de parámetros de base de datos

Puede copiar los grupos de parámetros de base de datos personalizados que cree. Copiar un grupo de parámetros es una solución conveniente cuando ya se ha creado un grupo de parámetros de base de datos y se desea incluir la mayoría de los parámetros y valores personalizados de ese grupo en un nuevo grupo de parámetros de base de datos. Puede copiar un grupo de parámetros de base de datos mediante la Consola de administración de AWS, el comando copy-db-parameter-group de la AWS CLI o la operación CopyDBParameterGroup de la API de RDS.

Después de copiar un grupo de parámetros de base de datos, espere al menos 5 minutos antes de crear la primera instancia de base de datos que utilice ese grupo de parámetros de base de datos como grupo de parámetros predeterminado. Esto permite a Amazon RDS finalizar por completo la acción de copia antes de que se utilice el grupo de parámetros. Esto es especialmente importante para los parámetros que son críticos al crear la base de datos predeterminada de una instancia de base de datos. Un ejemplo es el conjunto de caracteres para la base de datos predeterminada definida por el parámetro character_set_database. Utilice la opción Parameter Groups (Grupos de parámetros) de la consola de Amazon RDS o el comando describe-db-parameters para comprobar que se ha creado el grupo de parámetros de base de datos.

nota

No es posible copiar un grupo de parámetros predeterminado. Sin embargo, puede crear un grupo de parámetros que se base en uno predeterminado.

Actualmente, no puede copiar un grupo de parámetros en una región de AWS diferente.

Para copiar un grupo de parámetros de base de datos

  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, seleccione Parameter groups (Grupos de parámetros).

  3. En la lista, seleccione el grupo de parámetros personalizado que desea copiar.

  4. En Parameter group actions (Acciones de grupos de parámetros), seleccione Copy (Copiar).

  5. En New DB parameter group identifier (Nuevo identificador de grupo de parámetros de base de datos), escriba el nombre del nuevo grupo de parámetros.

  6. En Description (Descripción), escriba una descripción para el nuevo grupo de parámetros.

  7. Elija Copy.

Para copiar un grupo de parámetros de base de datos, utilice el comando copy-db-parameter-group de la AWS CLI con las siguientes opciones requeridas:

  • --source-db-parameter-group-identifier

  • --target-db-parameter-group-identifier

  • --target-db-parameter-group-description

En el siguiente ejemplo se crea un nuevo grupo de parámetros de base de datos denominado mygroup2 que es una copia del grupo de parámetros de base de datos mygroup1.

ejemplo

Para Linux, macOS o Unix:

aws rds copy-db-parameter-group \ --source-db-parameter-group-identifier mygroup1 \ --target-db-parameter-group-identifier mygroup2 \ --target-db-parameter-group-description "DB parameter group 2"

Para Windows:

aws rds copy-db-parameter-group ^ --source-db-parameter-group-identifier mygroup1 ^ --target-db-parameter-group-identifier mygroup2 ^ --target-db-parameter-group-description "DB parameter group 2"

Para copiar un grupo de parámetros de base de datos, utilice la operación CopyDBParameterGroup de la API de RDS con los siguientes parámetros obligatorios:

  • SourceDBParameterGroupIdentifier

  • TargetDBParameterGroupIdentifier

  • TargetDBParameterGroupDescription

Descripción de grupos de parámetros de base de datos

Es posible obtener un listado de los grupos de parámetros de base de datos que se han creado para una cuenta de AWS.

nota

Los grupos de parámetros predeterminados se crean automáticamente a partir de una plantilla de parámetros predeterminados cuando se crea una instancia de base de datos para un motor y una versión de base de datos específicos. Estos grupos de parámetros predeterminados contienen los valores preferidos para los parámetros y no se pueden modificar. Los valores de los parámetros se pueden modificar cuando se crea un grupo de parámetros personalizado.

Para obtener una lista de todos los grupos de parámetros de base de datos de una cuenta de AWS

  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, seleccione Parameter groups (Grupos de parámetros).

    Los grupos de parámetros de base de datos aparecen en una lista.

Para obtener la lista de todos los grupos de parámetros de base de datos para una cuenta de AWS, utilice el comando describe-db-parameter-groups de la AWS CLI.

ejemplo

En el siguiente ejemplo se obtiene la lista de todos los grupos de parámetros de base de datos disponibles en una cuenta de AWS.

aws rds describe-db-parameter-groups

El comando devuelve una respuesta similar a la siguiente:

DBPARAMETERGROUP default.mysql5.5 mysql5.5 Default parameter group for MySQL5.5 DBPARAMETERGROUP default.mysql5.6 mysql5.6 Default parameter group for MySQL5.6 DBPARAMETERGROUP mydbparametergroup mysql5.6 My new parameter group

En el siguiente ejemplo se describe el grupo de parámetros mydbparamgroup1.

Para Linux, macOS o Unix:

aws rds describe-db-parameter-groups \ --db-parameter-group-name mydbparamgroup1

Para Windows:

aws rds describe-db-parameter-groups ^ --db-parameter-group-name mydbparamgroup1

El comando devuelve una respuesta similar a la siguiente:

DBPARAMETERGROUP mydbparametergroup1 mysql5.5 My new parameter group

Para obtener la lista de todos los grupos de parámetros de base de datos de una cuenta de AWS, utilice la operación DescribeDBParameterGroups de la API de RDS.

Visualización de los valores de los parámetros de un grupo de parámetros de base de datos

Es posible obtener una lista de todos los parámetros de un grupo de parámetros de base de datos y sus valores.

Para ver los valores de los parámetros de un grupo de parámetros de base de datos

  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, seleccione Parameter groups (Grupos de parámetros).

    Los grupos de parámetros de base de datos aparecen en una lista.

  3. Seleccione el nombre del grupo de parámetros para ver su lista de parámetros.

Para ver los valores de los parámetros de un grupo de parámetros de base de datos, utilice el comando describe-db-parameters de la AWS CLI con el siguiente parámetro obligatorio.

  • --db-parameter-group-name

ejemplo

En el siguiente ejemplo se obtiene la lista de los parámetros y los valores de los parámetros de un grupo de parámetros de base de datos denominado mydbparametergroup.

aws rds describe-db-parameters --db-parameter-group-name mydbparametergroup

El comando devuelve una respuesta similar a la siguiente:

DBPARAMETER Parameter Name Parameter Value Source Data Type Apply Type Is Modifiable DBPARAMETER allow-suspicious-udfs engine-default boolean static false DBPARAMETER auto_increment_increment engine-default integer dynamic true DBPARAMETER auto_increment_offset engine-default integer dynamic true DBPARAMETER binlog_cache_size 32768 system integer dynamic true DBPARAMETER socket /tmp/mysql.sock system string static false

Para ver los valores de los parámetros de un grupo de parámetros de base de datos, utilice el comando DescribeDBParameters de la API de RDS con el siguiente parámetro obligatorio.

  • DBParameterGroupName

Comparación de grupos de parámetros de la base de datos

Puede usar la Consola de administración de AWS para ver las diferencias entre dos grupos de parámetros del mismo motor y versión de la base de datos.

Para comparar dos grupos de parámetros

  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, seleccione Parameter groups (Grupos de parámetros).

  3. En la lista, seleccione los dos grupos de parámetros que desea comparar.

  4. En Parameter group actions (Acciones de grupos de parámetros), seleccione Compare (Comparar).

    nota

    Si los elementos que ha seleccionado no son equivalentes, no puede elegir Compare (Comparar). Por ejemplo, no puede comparar un grupos de parámetros de MySQL 5.6 y uno de MySQL 5.7. No puede comparar un grupo de parámetros de base de datos y un grupo de parámetros de clúster de base de datos de Aurora.

Valores de los parámetros de base de datos

Puede especificar el valor de un parámetro de base de datos como una de las siguientes opciones:

  • Una constante entera

  • Una fórmula de parámetro de base de datos

  • Una función de parámetro de base de datos

  • Una constante de cadena de caracteres

  • Una expresión logarítmica (la función log representa el logaritmo de base 2); por ejemplo, value={log(DBInstanceClassMemory/8187281418)*1000}

Fórmulas de parámetros de base de datos

Una fórmula de parámetros de base de datos es una expresión que da como resultado un valor entero o un valor booleano y está encerrada entre llaves: {}. Puede especificar fórmulas para el valor de un parámetro de base de datos o como argumento de una función de parámetro de base de datos.

Sintaxis

{FormulaVariable} {FormulaVariable*Integer} {FormulaVariable*Integer/Integer} {FormulaVariable/Integer}

Variables de las fórmulas de parámetros de base de datos

Cada variable de la fórmula devuelve un entero o un valor booleano. Los nombres de las variables distinguen entre mayúsculas y minúsculas.

AllocatedStorage

Devuelve el tamaño del volumen de datos, en bytes.

DBInstanceClassMemory

Devuelve el número de bytes de memoria asignados a la clase de instancia de base de datos asociada a la instancia de base de datos actual, menos la memoria utilizada por los procesos de Amazon RDS que administran la instancia.

EndPointPort

Devuelve el número del puerto utilizado para conectarse a la instancia de base de datos.

DBInstanceClassHugePagesDefault

Devuelve un valor booleano. Actualmente solo se admite para los motores de Oracle.

Para obtener más información, consulte Uso de páginas enormes con una instancia de base de datos de Oracle.

Operadores de las fórmulas de parámetros de base de datos

Las fórmulas de parámetros de base de datos admiten dos operadores: división y multiplicación.

Operador de división: /

Divide el dividendo entre el divisor, y devuelve un cociente entero. Los decimales del cociente se truncan, no se redondean.

Sintaxis

dividend / divisor

Los argumentos del dividendo y el divisor deben ser expresiones enteras.

Operador de multiplicación: *

Multiplica las expresiones, devolviendo el producto de las expresiones. Los decimales de las expresiones se truncan, no se redondean.

Sintaxis

expression * expression

Las dos expresiones deben dar como resultado valores enteros.

Funciones de parámetros de base de datos

Los argumentos de los parámetros se pueden especificar como valores enteros o como fórmulas. Cada función debe tener un argumento como mínimo. Si hay varios argumentos, se pueden especificar como una lista separada por comas. La lista no puede tener ningún miembro vacío; por ejemplo, argumento1,,argumento3. Los nombres de las funciones no distinguen entre mayúsculas y minúsculas.

nota

Las funciones de parámetros de base de datos no se admiten actualmente en la AWS CLI.

IF()

Devuelve un argumento.

Actualmente solo se admite para los motores de Oracle y el único primer argumento admitido es {DBInstanceClassHugePagesDefault}. Para obtener más información, consulte Uso de páginas enormes con una instancia de base de datos de Oracle.

Sintaxis

IF(argument1, argument2, argument3)

Devuelve el segundo argumento si el primer argumento da como resultado true. En caso contrario, devuelve el tercer argumento.

GREATEST()

Devuelve el valor más grande de una lista de números enteros o fórmulas de parámetros.

Sintaxis

GREATEST(argument1, argument2,...argumentn)

Devuelve un número entero.

LEAST()

Devuelve el valor más pequeño de una lista de números enteros o fórmulas de parámetros.

Sintaxis

LEAST(argument1, argument2,...argumentn)

Devuelve un número entero.

SUM()

Suma los valores de los números enteros o fórmulas de parámetros especificados.

Sintaxis

SUM(argument1, argument2,...argumentn)

Devuelve un número entero.

Ejemplos de valores de los parámetros de base de datos

En estos ejemplos se muestra el uso de fórmulas y funciones en los valores de los parámetros de base de datos.

aviso

Si se configuran de forma incorrecta los parámetros de un grupo de parámetros de base de datos, pueden producirse efectos adversos no deseados, como la degradación del desempeño y la inestabilidad del sistema. Tenga cuidado siempre que modifique los parámetros de base de datos y haga una copia de seguridad de los datos antes de modificar el grupo de parámetros de base de datos. Pruebe los cambios de los grupos de parámetros en instancias de bases de datos de prueba, creadas mediante restauraciones a un momento dado, antes de aplicar dichos cambios a las instancias de bases de datos de producción.

Puede especificar la función GREATEST en un parámetro de procesos de Oracle para establecer el número de procesos de usuario en el mayor de estos dos valores: 80 o DBInstanceClassMemory dividido por 9 868 951.

GREATEST({DBInstanceClassMemory/9868951},80)

Puede especificar la función LEAST() en el valor de un parámetro max_binlog_cache_size de MySQL para establecer el tamaño máximo de caché que puede utilizar una transacción en una instancia de MySQL para que sea el menor de estos valores: 1 MB o DBInstanceClass/256.

LEAST({DBInstanceClassMemory/256},10485760)