IBM Cloud Docs
Modifier la configuration du déploiement

Modifier la configuration du déploiement

IBM Cloud® Databases for MySQL vous permet de modifier certains paramètres de configuration de MySQL afin que vous puissiez 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 à la 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 Cloud Databases

Vérifiez la configuration en cours de votre déploiement à l'aide d'une commande telle que la suivante:

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

Pour modifier votre configuration à l'aide du CLI-plugin Cloud Databases, utilisez la commande deployment-configuration :

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 du paramètre time_zone. 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

default_authentication_plugin

  • Valeur par défaut - sha256_password
  • Valeurs admises : sha256_password, mysql_native_password
  • Redémarrage de la base de données? - true

Sauf si cela est strictement nécessaire, n'utilisez pas mysql_native_password.

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émarrage de la base de données? - true

innodb_flush_log_at_trx_commit

  • Description: contrôle l'équilibre entre la conformité ACID stricte pour les opérations de validation et des performances plus élevées qui sont possibles lorsque les opérations d'E-S liées à la validation sont réorganisées et effectuées par lots. Vous pouvez obtenir de meilleures performances en modifiant la valeur par défaut, mais vous pouvez ensuite perdre des transactions en cas de panne.
  • Par défaut :2
  • Minimum : 0
  • Maximum : 2
  • Redémarrage de la base de données? - false

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émarrage de 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émarrage de 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émarrage de la base de données? - false

innodb_write_io_threads

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

max_allowed_packet

  • Valeur par défaut - 1073741824
  • Minimum - 1024
  • Maximum - 1073741824
  • Redémarrage de 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émarrage de la base de données? - false

max_connections

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

Vous devrez peut-être effectuer une mise à l'échelle avant d'augmenter le nombre maximal de connexions.

mysql_max_binlog_age_sec

  • Valeur par défaut - 1800
  • Redémarrage de 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émarrage de 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émarrage de 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émarrage de 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émarrage de 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émarrage de 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émarrage de la base de données? - false