Modifier la configuration du déploiement

IBM Cloud® Databases for MySQL vous permet de modifier certains paramètres de configuration d' MySQL afin d'adapter vos bases de données MySQL à votre cas d'utilisation. Pour apporter des modifications définitives à la configuration de base de données, utilisez le plug-in d'interface de ligne de commande ou l'API Cloud Databases pour écrire les modifications dans le fichier de configuration pour votre déploiement.

La configuration est définie dans un schéma. Pour effectuer une modification, envoyez un objet JSON contenant les paramètres et leurs nouvelles valeurs à l'API ou à l'interface CLI. Par exemple, dans l'interface de ligne de commande ou l'API, définissez max_connections sur 150 à l'aide d'une commande telle que:

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

Pour plus d'informations, voir Gestion de MySQL Connections.

Comment calculer la variable MySQL 'max_connections?

max_connections est un paramètre de configuration dans MySQL qui détermine le nombre maximal de connexions simultanées pouvant être établies avec le serveur de base de données.

MySQL max_connections formule de base

La formule de base pour le calcul de max_connections est la suivante:

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

Pour extraire une liste de mémoires tampon et leurs valeurs, utilisez une commande telle que la suivante:

SHOW VARIABLES LIKE '%buffer%';

Utilisation du plug-in CLI d' Cloud Databases

Vérifiez la configuration par défaut de votre déploiement en utilisant une commande comme :

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

Cette commande ne permet de revenir qu'à la configuration par défaut. Les modifications apportées à la configuration par défaut ne sont pas affichées.

Pour modifier votre configuration via le plugin CLI d' Cloud Databases, utilisez deployment-configuration la commande :

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

La commande lit les modifications que vous souhaitez effectuer à partir de l'objet JSON ou d'un fichier. Pour plus d'informations, voir la page de référence de l'interface de ligne de commande.

Utilisation de l'API Cloud Databases

Il existe deux noeuds finaux de configuration de déploiement, l'un permet d'afficher le schéma de configuration et l'autre permet de modifier la configuration. Pour afficher le schéma de configuration, envoyez une demande GET à /deployments/{id}/configuration/schema.

Pour modifier la configuration, envoyez les paramètres que vous souhaitez modifier sous la forme d'un objet JSON dans le corps d'une demande PATCH vers /deployments/{id}/configuration.

Pour plus d'informations, voir Référence d'API.

Paramètres de fuseau horaire Databases for MySQL

Le fuseau horaire des déploiements Databases for MySQL est toujours le temps universel coordonné. Configurez votre fuseau horaire avec l'API Cloud Databases ou l'interface de ligne de commande remplacez votre fuseau horaire par un fuseau horaire nommé (recommandé) ou un décalage d'un fuseau horaire.

Vous devez reconfigurer le fuseau horaire sur les instances restaurées et sur les répliques en lecture. Bien que les tables de fuseaux horaires soient restaurées (dans le cas d'une restauration) et répliquées (dans le cas d'une réplique en lecture), la valeur @@global.time_zone ne l'est pas. Pour définir cette valeur, utilisez les mêmes appels d'API que précédemment, mais avec les nouveaux CRN.

Configuration de vos paramètres de fuseau horaire Databases for MySQL

Lors de la mise à disposition, un déploiement Cloud Databases est configuré en temps universel coordonné. La reconfiguration de votre fuseau horaire est une modification permanente qui doit être effectuée pour chacun de vos déploiements Cloud Databases.

La configuration de votre fuseau horaire définit le fuseau horaire global dans votre instance MySQL. Dans l'instance où se produit une reprise en ligne, votre paramètre de fuseau horaire est propagé dans le cadre de la réplication, car le paramètre de fuseau horaire est écrit dans le fichier de configuration MySQL. La seule exception à cette règle est que vous restaurez une instance à un point de cohérence avant de configurer votre fuseau horaire préféré.

Si vous configurez votre fuseau horaire en fonction de l'heure d'été, les ajustements font partie de la configuration. Aucune action n'est nécessaire de votre part. L'utilisation d'un fuseau horaire spécifique est préférable à l'utilisation d'un décalage horaire.

Cloud Databases valide la valeur time_zone du paramètre. Si vous configurez votre déploiement avec une valeur non valide, la configuration échoue. Le nom valide time_zone values se trouve ici.

Modification du fuseau horaire dans l'API Cloud Databases

Exemple de décalage:

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"}}'

Exemple de fuseau horaire nommé:

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"}}'

Modification du fuseau horaire dans l'interface de ligne de commande Cloud Databases

Exemple de fuseau horaire nommé

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

Paramètres de configuration disponibles Databases for MySQL

innodb_buffer_pool_size_percentage

  • Description: pourcentage de mémoire à utiliser pour innodb_buffer_pool_size. La valeur par défaut de 50% est une valeur prudente qui fonctionne pour les bases de données de n'importe quelle taille. Si votre base de données requiert plus de mémoire RAM, cette valeur peut être augmentée. Une valeur trop élevée peut dépasser les limites de mémoire de votre base de données, ce qui peut entraîner une panne.
  • Par défaut :50
  • Minimum : 10
  • Maximum : 100
  • Redémarrer la base de données? - true

innodb_log_buffer_size

  • Description: Taille en octets de la mémoire tampon utilisée par InnoDB pour écrire dans les fichiers journaux sur le disque.
  • Par défaut :33554432
  • Minimum : 1048576
  • Maximum : 4294967295
  • Redémarrer la base de données? - true

innodb_log_file_size

  • Description : Taille en octets de chaque fichier journal d'un groupe de journaux. les Innodb_log_file_size et " innodb_log_files_in_group ont été remplacés par " innodb_redo_log_capacity. Le réglage du " innodb_log_file_size entraîne également le réglage du " innodb_redo_log_capacity.
  • Par défaut :2147483648
  • Minimum : 4194304
  • Maximum : 274877906900
  • Redémarrer la base de données? - false

innodb_lru_scan_depth

  • Description: paramètre qui influence les algorithmes et les heuristiques de l'opération flush pour le pool de mémoire tampon InnoDB. Un paramètre plus petit que la valeur par défaut convient généralement à la plupart des charges de travail. Une valeur beaucoup plus élevée que nécessaire peut avoir un impact sur les performances. N'augmentez la valeur que si vous disposez d'une capacité d'E-S de secours sous une charge de travail standard.
  • Par défaut :256
  • Minimum : 128
  • Maximum : 2048
  • Redémarrer la base de données? - false

innodb_write_io_threads

  • Description : nombre de threads d'E/S pour les opérations d'écriture dans l' InnoDB
  • Par défaut :4
  • Minimum : 1
  • Maximum : 64
  • Redémarrer la base de données? - true

max_allowed_packet

  • Valeur par défaut - 1073741824
  • Minimum - 1024
  • Maximum - 1073741824
  • Redémarrer la base de données? - false

max_prepared_stmt_count

  • Description-Indique le nombre total d'instructions préparées sur le serveur.
  • Valeur par défaut - 16382
  • Minimum - 0
  • Maximum-(version ≤ 8.0.17) 1048576, (version ≥ 8.0.18) 4194304
  • Redémarrer la base de données? - false

max_connections

  • Valeur par défaut - 200
  • Redémarrer la base de données? - false

Vous devrez peut-être redimensionner avant d'augmenter le nombre maximal de connexions.

mysql_max_binlog_age_sec

  • Valeur par défaut - 1800
  • Redémarrer la base de données? - false

net_write_timeout

  • Description : Nombre de secondes d'attente d'écriture d'un bloc dans une connexion avant l'abandon de l'écriture.
  • Par défaut :60
  • Minimum : 1
  • Maximum : 7200
  • Redémarrer la base de données? - false

sql_mode

  • Valeurs autorisées :
    • 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
  • Redémarrer la base de données? - false

time_zone

  • Description: Le fuseau horaire actuellement défini sur le serveur est'+ 00:00'(temps universel coordonné) par défaut. Toutefois, il peut également être réglé sur un décalage spécifique par rapport au temps universel coordonné au format [HH]:MM, avec un préfixe + ou -, par exemple "+10:00", '-6:00" ou "+05:30". Les fuseaux horaires nommés tels que "MET" ou "US/Pacific" peuvent également être utilisés.
  • Par défaut :+00:00
  • Type: string
  • Redémarrer la base de données? - false

wait_timeout

  • Description: Nombre de secondes pendant lesquelles le serveur attend une activité sur une connexion non interactive avant de la fermer.
  • Par défaut :28800
  • Minimum : 1
  • Maximum : 31536000
  • Redémarrer la base de données? - false

innodb_read_io_threads

  • Description : Nombre d'unités d'exécution d'E-S pour les opérations de lecture dans InnoDB.
  • Par défaut :4
  • Minimum : 1
  • Maximum : 64
  • Redémarrer la base de données? - true

net_read_timeout

  • Description : Nombre de secondes d'attente de plus de données à partir d'une connexion avant l'abandon de la lecture.
  • Par défaut :30
  • Minimum : 1
  • Maximum : 7200
  • Redémarrer la base de données? - false