Conditions requises
Un système de base de données haute disponibilité requiert une configuration compatible haute disponibilité. La fonctionnalité de haute disponibilité du système de base de données utilisant la réplication de groupe MySQL, chaque table doit avoir une clé primaire. Si vous essayez de créer une table sans clé primaire dans un système d'un système de base de données haute disponible, l'opération échoue.
Si vous utilisez la console pour activer la haute disponibilité d'un système de base de données, vous devez également activer l'extension automatique du stockage. Cette exigence ne s'applique pas dans l'interface de ligne de commande ou l'API REST.
Toutes les configurations par défaut compatibles avec la haute disponibilité ont le suffixe HA dans le nom de la configuration. Si vous souhaitez créer une configuration personnalisée prenant en charge la haute disponibilité, vous devez utiliser la méthode Copier la configuration pour effectuer une copie à partir d'une configuration existante prenant en charge la haute disponibilité. Reportez-vous à Copying a Configuration.
Si vous migrez des données vers HeatWave et que les clés primaires ne sont pas définies pour vos tables, vous devez les ajouter. Vérifiez que les tables comportent des clés primaires et ajoutez-en à celles qui n'en contiennent pas :
- Vérification des tables pour les clés primaires à l'aide d'un client de ligne de commande
- Ajoutez des clés primaires à l'aide de l'une des méthodes suivantes :
- Utilisation d'une colonne invisible : reportez-vous à la section Manually Adding Primary Keys Using a Command-Line Client.
Remarque
L'utilisation de colonnes invisibles pour ajouter des clés primaires permet de mettre à jour les données existantes en vue de leur utilisation avec un système de base de données haute disponibilité sans répercussions majeures. Cette opération est transparente pour vos applications. La nouvelle colonne reste masquée dans les requêtesSELECT
, ce qui permet à vos applications de continuer à fonctionner comme précédemment. - Utilisation de l'utilitaire de vidage MySQL Shell : reportez-vous à
create_invisible_pks
dans Utilitaire de vidage MySQL Shell. - Utilisation de l'utilitaire de chargement MySQL Shell : reportez-vous à
createInvisiblePKs
dans Utilitaire de chargement MySQL Shell.Remarque
Pour utiliser l'utilitaire de vidage et de chargement du shell MySQL, utilisez le shell MySQL version 8.0.30 ou supérieure. - Utilisation de la variable
sql_generate_invisible_primary_key
: définissez la variable surON
pour ajouter des clés primaires aux nouvelles tables que vous créez. La définition de la variable surON
n'ajoute pas de clés primaires aux tables existantes. Reportez-vous à Génération de clés primaires invisibles.
- Utilisation d'une colonne invisible : reportez-vous à la section Manually Adding Primary Keys Using a Command-Line Client.
Vérification des tables pour les clés primaires à l'aide d'un client de ligne de commande
Utilisez un client de ligne de commande tel que le client MySQL ou le shell MySQL pour vérifier si vos tables comportent des clés primaires et répertorier celles qui n'en contiennent pas. Les clés primaires sont nécessaires pour la réplication de groupe utilisée par la haute disponibilité.
Ajout manuel de clés primaires à l'aide d'un client de ligne de commande
Utilisez un client de ligne de commande tel que le client MySQL ou MySQL Shell pour ajouter des clés primaires à des colonnes invisibles.
- MySQL version 8.0.23 ou supérieure. Les colonnes invisibles ont été introduites dans la version 8.0.23.
Rubriques connexes