IBM Cloud Docs
Cambiar la configuración de despliegue

Cambiar la configuración de despliegue

IBM Cloud® Databases for MySQL le permite cambiar algunos de los parámetros de configuración de MySQL para que pueda adaptar sus bases de datos MySQL a su caso de uso. Para hacer realizar cambios permanentes en la configuración de la base de datos, utilice el Cloud Databases plugin de CLI o la API para escribir los cambios en el archivo de configuración del despliegue.

La configuración se define en un esquema. Para realizar un cambio, envíe un objeto JSON con la configuración y sus nuevos valores a la API o a la CLI. Por ejemplo, en la CLI o la API, establezca max_connections en 150 utilizando un mandato como:

{"configuration":{"max_connections":150}}

Para obtener más información, consulte Gestión de MySQL Connections.

Cómo calcular la variable ' max_connections MySQL

max_connections es un parámetro de configuración en MySQL que determina el número máximo de conexiones simultáneas que se pueden establecer con el servidor de bases de datos.

Fórmula básica de MySQL max_connections

La fórmula básica para calcular max_connections es:

Available RAM = Global Buffers + (Thread Buffers x `max_connections`)

Para recuperar una lista de almacenamientos intermedios y sus valores, utilice un mandato como:

SHOW VARIABLES LIKE '%buffer%';

Uso del complemento CLI Cloud Databases

Compruebe la configuración actual del despliegue utilizando un mandato como:

ibmcloud cdb deployment-configuration-schema <deployment name or CRN>

Para cambiar su configuración a través del CLI-plugin Cloud Databases, utilice el comando deployment-configuration :

ibmcloud cdb deployment-configuration <deployment name or CRN> [@JSON_FILE | JSON_STRING]

Este mandato lee los cambios que desea realizar del objeto JSON o de un archivo. Para obtener más información, consulte la página de referencia de CLI.

Utilización de la API Cloud Databases

Hay dos puntos finales de configuración de despliegue, uno para ver el esquema de configuración y otro para cambiar la configuración. Para ver el esquema de configuración, envíe una solicitud GET a /deployments/{id}/configuration/schema.

Para cambiar la configuración, envíe los valores que desea cambiar en forma de objeto JSON en el cuerpo de una solicitud PATCH a /deployments/{id}/configuration.

Para obtener más información, consulte Referencia de API.

Valores de huso horario de Databases for MySQL

El huso horario de los despliegues de Databases for MySQL es siempre la hora universal coordinada. Configure el huso horario con la API Cloud Databases o la CLI cambie el huso horario por un huso horario con nombre (recomendado) o un desplazamiento de un huso horario.

Es necesario que vuelva a configurar el huso horario en las instancias restauradas y en las réplicas de lectura. Aunque las tablas de huso horario se restauran (en el caso de una restauración) y se replican (en el caso de una réplica de lectura), el valor @@global.time_zone no lo es. Para establecer este valor, utilice las mismas llamadas de API que antes, pero con los nuevos CRN.

Configuración de los valores de huso horario de Databases for MySQL

Durante el suministro, se ha configurado un despliegue de Cloud Databases en Hora universal coordinada. La reconfiguración del huso horario es un cambio persistente, que debe llevarse a cabo para cada uno de los despliegues de Cloud Databases.

La configuración del huso horario establece el huso horario global dentro de la instancia de MySQL. En la instancia en la que se produce una migración tras error, el valor de huso horario se propaga como parte de la réplica, ya que el valor de huso horario se graba en el archivo de configuración MySQL. La excepción a esto es si restaura una instancia a un punto en el tiempo antes de configurar el huso horario preferido.

Si configura el huso horario en uno que tenga el horario de verano, los ajustes forman parte de la configuración. No es necesaria ninguna acción por su parte. El uso de un huso horario específico es mejor que el uso de una hora de desplazamiento.

Cloud Databases valida el valor del parámetro time_zone. Si configura el despliegue con un valor no válido, la configuración falla. El nombre válido time_zone values se puede encontrar aquí.

Cambio del huso horario en la API Cloud Databases

Desplazamiento de ejemplo:

curl -v -XPATCH -H "Authorization: Bearer $token" -H "Content-Type: application/json" https://api.<region>.databases.cloud.ibm.com/v5/ibm/deployments/<crn>/configuration -d '{"configuration": {"time_zone": "<EXAMPLE OFFSET"}}'

Ejemplo de huso horario con nombre:

curl -v -XPATCH -H "Authorization: Bearer $token" -H "Content-Type: application/json" https://api.<region>.databases.cloud.ibm.com/v5/ibm/deployments/<crn>/configuration -d '{"configuration": {"time_zone": "<EXAMPLE TIME ZONE"}}'

Cambio del huso horario en la CLI de Cloud Databases

Ejemplo de huso horario con nombre

ibmcloud cdb deployment-configuration <crn> '{"time_zone": "US/Pacific"}'

Parámetros de configuración Databases for MySQL disponibles

default_authentication_plugin

  • Valor predeterminado: sha256_password
  • Valores permitidos: sha256_password, mysql_native_password
  • ¿Reinicia la base de datos? - true

A menos que sea estrictamente necesario, no utilice mysql_native_password.

innodb_buffer_pool_size_percentage

  • Descripción: El porcentaje de memoria a utilizar para innodb_buffer_pool_size. El valor predeterminado de 50% es un valor conservador y funciona para bases de datos de cualquier tamaño. Si la base de datos requiere más RAM, este valor se puede aumentar. Establecer este valor en un valor demasiado alto puede superar los límites de memoria de la base de datos, lo que puede hacer que se bloquee.
  • Valor predeterminado: 50
  • Mínimo: 10
  • Máximo: 100
  • ¿Reinicia la base de datos? - true

innodb_flush_log_at_trx_commit

  • Descripción: Controla el equilibrio entre la conformidad estricta de ACID para operaciones de confirmación y un mayor rendimiento que es posible cuando las operaciones de E/S relacionadas con la confirmación se reorganizan y se realizan por lotes. Puede obtener un mejor rendimiento cambiando el valor predeterminado pero, a continuación, puede perder transacciones en un bloqueo.
  • Valor predeterminado: 2
  • Mínimo: 0
  • Máximo: 2
  • ¿Reinicia la base de datos? - false

innodb_log_buffer_size

  • Descripción: tamaño en bytes del almacenamiento intermedio que InnoDB utiliza para grabar en los archivos de registro en disco.
  • Valor predeterminado: 33554432
  • Mínimo: 1048576
  • Máximo: 4294967295
  • ¿Reinicia la base de datos? - true

innodb_log_file_size

  • Descripción: El tamaño en bytes de cada archivo de registro en un grupo de registro. ' Innodb_log_file_size y ' innodb_log_files_in_group ' han sido sustituidos por ' innodb_redo_log_capacity. Si se activa " innodb_log_file_size, también se activará " innodb_redo_log_capacity.
  • Valor predeterminado: 2147483648
  • Mínimo: 4194304
  • Máximo: 274877906900
  • ¿Reinicia la base de datos? - false

innodb_lru_scan_depth

  • Description: Un parámetro que influye en los algoritmos y la heurística para la operación flush para la agrupación de almacenamiento intermedio InnoDB. Un valor más pequeño que el predeterminado suele ser adecuado para la mayoría de cargas de trabajo. Un valor que es mucho más alto de lo necesario puede afectar al rendimiento. Considere la posibilidad de aumentar el valor sólo si tiene capacidad de E/S de repuesto bajo una carga de trabajo típica.
  • Valor predeterminado: 256
  • Mínimo: 128
  • Máximo: 2048
  • ¿Reinicia la base de datos? - false

innodb_write_io_threads

  • Descripción: El número de hilos de E/S para operaciones de escritura en InnoDB.
  • Valor predeterminado: 4
  • Mínimo: 1
  • Máximo: 64
  • ¿Reinicia la base de datos? - true

max_allowed_packet

  • Valor predeterminado: 1073741824
  • Mínimo: 1024
  • Máximo: 1073741824
  • ¿Reinicia la base de datos? - false

max_prepared_stmt_count

  • Descripción-Especifica el número total de sentencias preparadas en el servidor.
  • Valor predeterminado: 16382
  • Mínimo: 0
  • Máximo-(versión ≤ 8.0.17) 1048576, (versión ≥ 8.0.18) 4194304
  • ¿Reinicia la base de datos? - false

max_connections

  • Valor predeterminado: 200
  • ¿Reinicia la base de datos? - false

Es posible que tenga que escalar antes de aumentar el número máximo de conexiones.

mysql_max_binlog_age_sec

  • Valor predeterminado: 1800
  • ¿Reinicia la base de datos? - false

net_write_timeout

  • Descripción: el número de segundos que se debe esperar a que se escriba un bloque en una conexión antes de cancelar anormalmente la escritura.
  • Valor predeterminado: 60
  • Mínimo: 1
  • Máximo: 7200
  • ¿Reinicia la base de datos? - false

sql_mode

  • Valores permitidos:
    • ALLOW_INVALID_DATES
    • ANSI_QUOTES
    • ERROR_FOR_DIVISION_BY_ZERO
    • HIGH_NOT_PRECEDENCE
    • IGNORE_SPACE
    • NO_AUTO_CREATE_USER
    • NO_AUTO_VALUE_ON_ZERO
    • NO_BACKSLASH_ESCAPES
    • NO_DIR_IN_CREATE
    • NO_ENGINE_SUBSTITUTION
    • NO_FIELD_OPTIONS
    • NO_KEY_OPTIONS
    • NO_TABLE_OPTIONS
    • NO_UNSIGNED_SUBTRACTION
    • NO_ZERO_DATE
    • NO_ZERO_IN_DATE
    • ONLY_FULL_GROUP_BY
    • PAD_CHAR_TO_FULL_LENGTH
    • PIPES_AS_CONCAT
    • REAL_AS_FLOAT
    • STRICT_ALL_TABLES
    • STRICT_TRANS_TABLES
  • ¿Reinicia la base de datos? - false

time_zone

  • Descripción: El huso horario establecido actualmente en el servidor es '+ 00:00' (Hora Universal Coordinada) de forma predeterminada. Sin embargo, también puede ajustarse a un desfase específico respecto al Tiempo Universal Coordinado en el formato [HH]:MM, con un prefijo + o -, por ejemplo "+10:00", '-6:00" o "+05:30". También se pueden utilizar husos horarios con nombre como 'MET' o 'US/Pacífico'.
  • Valor predeterminado: +00:00
  • Tipo: string
  • ¿Reinicia la base de datos? - false

wait_timeout

  • Descripción: el número de segundos que el servidor espera la actividad en una conexión no interactiva antes de cerrarla.
  • Valor predeterminado: 28800
  • Mínimo: 1
  • Máximo: 31536000
  • ¿Reinicia la base de datos? - false

innodb_read_io_threads

  • Descripción: número de hebras de E/S para operaciones de lectura en InnoDB.
  • Valor predeterminado: 4
  • Mínimo: 1
  • Máximo: 64
  • ¿Reinicia la base de datos? - true

net_read_timeout

  • Descripción: el número de segundos que se espera para obtener más datos de una conexión antes de cancelar anormalmente la lectura.
  • Valor predeterminado: 30
  • Mínimo: 1
  • Máximo: 7200
  • ¿Reinicia la base de datos? - false