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
- 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
- Description : Taille en octets de chaque fichier journal d'un groupe de journaux. les
Innodb_log_file_sizeet "innodb_log_files_in_groupont été remplacés par "innodb_redo_log_capacity. Le réglage du "innodb_log_file_sizeentraî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
- 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
- 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
- Valeur par défaut -
1073741824 - Minimum -
1024 - Maximum -
1073741824 - Redémarrer la base de données? -
false
- 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
- 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.
- Valeur par défaut -
1800 - Redémarrer la base de données? -
false
- 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
- Valeurs autorisées :
ALLOW_INVALID_DATESANSI_QUOTESERROR_FOR_DIVISION_BY_ZEROHIGH_NOT_PRECEDENCEIGNORE_SPACENO_AUTO_CREATE_USERNO_AUTO_VALUE_ON_ZERONO_BACKSLASH_ESCAPESNO_DIR_IN_CREATENO_ENGINE_SUBSTITUTIONNO_FIELD_OPTIONSNO_KEY_OPTIONSNO_TABLE_OPTIONSNO_UNSIGNED_SUBTRACTIONNO_ZERO_DATENO_ZERO_IN_DATEONLY_FULL_GROUP_BYPAD_CHAR_TO_FULL_LENGTHPIPES_AS_CONCATREAL_AS_FLOATSTRICT_ALL_TABLESSTRICT_TRANS_TABLES
- Redémarrer la base de données? -
false
- 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
- 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
- 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
- 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