Maison >base de données >tutoriel mysql >MySQL - exemple de code pour mettre à niveau la réplication BinLog vers la réplication GTID en quatre étapes

MySQL - exemple de code pour mettre à niveau la réplication BinLog vers la réplication GTID en quatre étapes

黄舟
黄舟original
2017-03-13 16:43:101205parcourir

1. Définissez les serveurs maître et esclave en lecture seule

mysql>SET @@global.read_only=ON;

2 Arrêtez les serveurs maître et esclave

service mysql stop

3.

Pour activer les GTID, vous devez configurer le mode gtid, le log-bin, le log-slave-updates et appliquer la cohérence gtid sur les serveurs maître et esclave (avant MySQL 5.6.9, c'était --disable-gtid -unsafe-statement). De plus, l'esclave doit ajouter le paramètre skip-slave-start dans ce lien.

#vi /etc/my.cnf
[mysqld]
gtid-mode=on
log-bin
log-slave-updates
enforce-gtid-consistency

4. Reconfigurer l'esclave

mysql> change master to
	-> master_host='xxx.xxx.xxx.xxx',
	-> master_port=3306,
	-> master_user='xxx',
	-> master_password='xxx',
	-> master_auto_position=1;
mysql > start slave;

À ce stade, la mise à niveau est terminée. Ci-dessous, je vais ajouter une méthode de réplication des GTID pour basculer entre le serveur relais et le serveur maître.

5. Réplication des GTID

La réplication des GTID peut arbitrairement désigner un serveur comme serveur esclave relais ou serveur maître d'un autre serveur.

Par exemple, s'il y a trois serveurs MySQL A, B et C, A est le serveur maître de B et C. Actuellement, B doit être transformé en serveur relais pour C. La méthode d'opération spécifique est la suivante :

1) Exécutez les commandes suivantes sur le serveur B
mysql>  GRANT REPLICATION SLAVE ON *.* TO 'lyz'@'C的ip地址' IDENTIFIED BY 'lyz';
2) Exécutez les opérations suivantes sur le serveur C dans l'ordre

( 1) Arrêter de déposer l'esclave

mysql> stop slave;

(2) Configurer l'esclave

mysql> change master to
	-> master_host='B的ip地址',
	-> master_port=3306,
	-> master_user='lyz',
	-> master_password='lyz',
	-> master_auto_position=1;

(3) Démarrer l'esclave

mysql > start slave;

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn