Tutoriel MySQLLa colonne présente ce qu'est le mode de réplication basé sur GTID de Mysql
Recommandé (gratuit) : Tutoriel mysql
Définition GTID
GTID (Global Transaction Identifier) Identifiant global de la transaction. GTID est une amélioration majeure de la réplication maître-esclave introduite dans la version 5.6. Par rapport à la version précédente de la réplication maître-esclave basée sur les fichiers Binlog + Position, la réplication maître-esclave basée sur GTID offre une plus grande cohérence des données et des données maître-esclave plus robustes. la réplication. La commutation maître-esclave et le basculement sont moins sujets aux erreurs et nécessitent rarement une intervention humaine.
Représentation
GTID = server_uuid:transaction_id
Le GTID est généralement enregistré dans la variable système MySQL @@GLOBAL.gtid_executed
et la table système Dans mysql.gtid_executed
, la variable système @@GLOBAL.gtid_executed
est en mémoire et appartient au stockage non persistant, tandis que la table système mysql.gtid_executed appartient au stockage persistant.
Avantages du GTID par rapport à la réplication traditionnelle
log_file
et log_pos
Restrictions GTID
CREATE TABLE…..SELECT
ne peuvent pas être utilisésCREATE TEMPORARY TABLE and DROP TEMPORARY TABLE
ne peuvent pas être utilisés dans la transactionOrganigramme de réplication maître-esclave
Cycle de vie du GTID
mysql.gtid_executed
. @@GLOBAL.gtid_executed
, mais la table système mysql.gtid_executed ne le sera pas car certains gtid sont toujours dans le binlog. et il faut attendre que le binlog soit tourné ou il ne sera écrit sur mysql que lorsque mysqlServer est fermé. gtid_executed
Dans le tableau.gtid_next
sur la valeur gtid, de sorte que la bibliothèque esclave utilise la valeur gtid pour appliquer sa transaction correspondante gtid_owned
La variable système enregistre qui possède le GTID.Traditionnel. mode de réplication GTID de remplacement
global.read_only
paramètres, attendez que le serveur maître-esclave soit synchronisé mysql> SET @@global.read_only = ON;
mysql> CHANGE MASTER TO MASTER_HOST = host, MASTER_PORT = port, MASTER_USER = user, MASTER_PASSWORD = password, MASTER_AUTO_POSITION = 1;
mysql> START SLAVE;
mysql> show slave status \G
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!