Maison >base de données >tutoriel mysql >Explication détaillée de la façon d'utiliser le GR de MySql sous Ubuntu16.04

Explication détaillée de la façon d'utiliser le GR de MySql sous Ubuntu16.04

黄舟
黄舟original
2017-03-29 13:14:292011parcourir

Cet article présente principalement comment utiliser ://www.php.cn/code/5320.html" target="_blank"> 's GR, cet article vous le présente de manière très détaillée. Les amis qui en ont besoin peuvent se référer à

1. Avant-propos

Le. contenu principal de cet article Il s'agit d'enregistrer comment installerMySql 5.7.17 à partir d'un système pur et utiliser GR afin de pouvoir le visualiser plus tard et le partager avec d'autres

2. Installation. mysql

Étant donné que la source Ubuntu par défaut n'est pas la dernière version de MySQL, nous devons installer le dernier package d'installation dans les étapes suivantes. Bien sûr, nous l'utilisons toujours. apt pour l'installer ici. 🎜>1. Téléchargez le référentiel apt

2. Installez le référentiel apt


Pendant le processus d'installation, une interface apparaîtra pour vous permettre de sélectionner le Ici, il vous suffit de laisser le premier Choisissez simplement la version 5.7, bien sûr, vous pouvez choisir 8.0
sudo dpkg -i mysql-apt-config_0.8.3-1_all.deb


3 Mettez à niveau l'entrepôt apt et installez mysql

Donc. Jusqu'à présent, nous avons installé la dernière version de MySql, ce qui suit est la partie clé de la configuration. Il est recommandé de la lire d'abord, de ne pas venir directement et de suivre ceci 3. Activez GR
sudo apt-get update
sudo apt-get install mysql-server

.

1. Modifiez la configuration Ouvrez d'abord la configuration my.cnf sous /etc/mysql/ et écrivez les informations de configuration suivantes :

Il existe une configuration que je voudrais tiens à expliquer, parmi lesquels ""server_id" doit être différent sur chaque machine. Vous pouvez utiliser directement la quatrième partie de l'adresse IP. "loose-group_replication_group_nam" doit être cohérent sur chaque machine. Cela équivaut à l'identification d'un groupe Le reste est différent, c'est-à-dire que le paramètre "loose-group_replication_local_address" doit être spécifié comme adresse IP de la machine actuelle, et le port suivant indique le port que GR doit écouter. Le port de la machine dans le paramètre "loose-group_replication_group_seeds" se trouve dans d'autres machines. Correctement, vous pouvez modifier le port arbitrairement (ce port est indépendant du port 3306 par défaut de mysql. Après avoir terminé les opérations ci-dessus, redémarrez le service mysql

2. Créez un nouvel utilisateur

Nous nous connectons d'abord à la base de données actuelle
server_id=1
bind-address=0.0.0.0
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
log_slave_updates=ON
log_bin=binlog
binlog_format=ROW
transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "10.0.0.4:24901"
loose-group_replication_group_seeds= "10.0.0.4:24901,10.0.0.5:24902,10.0.0.6:24903"
loose-group_replication_bootstrap_group= off

Exécutons l'instruction SQL suivante

S'il s'agit d'un environnement de production, l'utilisateur peut définir le compte et le mot de passe correspondants. Ceci est uniquement à des fins de test. Utilisez directement le compte officiel.
sudo service mysql restart

3. Installez le plug-in

Nous continuons à exécuter l'instruction SQL correspondante

mysql -u root -p

Si nous voulons vérifier si le plug-in est actuellement installé, nous pouvons utiliser l'instruction suivante

Requête
 mysql> SET SQL_LOG_BIN=0;
 mysql> CREATE USER rpl_user@'%';
 mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%' IDENTIFIED BY 'rpl_pass';
 mysql> FLUSH PRIVILEGES; #在从数据库不需要执行
 mysql> SET SQL_LOG_BIN=1;
mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='rpl_pass' FOR CHANNEL 'group_replication_recovery';

4 Configurer les hôtes

Avant de démarrer le GR final, nous devons modifier les hôtes correspondants et faire correspondre le nom d'hôte. et IP, sinon nous nous connecterons aux autres nœuds et nous ne pourrons pas nous connecter car MySQL s'appuie sur le nom d'hôte pour se connecter.

mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
Ouvrir les hôtes

sudo vim /etc/hosts

Écrivez le contenu suivant (mon environnement actuel et le nom de ma machine sont comme ceci)
mysql> SHOW PLUGINS;

Après avoir terminé la configuration ci-dessus, quittez, entrons dans MySQL et continuons à exécuter

5 Allumez GR

La méthode suivante consiste à ouvrir le nœud principal (uniquement lors de notre première installation. Vous en avez besoin. parfois (vous n'en aurez pas besoin plus tard)

Sur le nœud esclave, exécutez simplement la phrase suivante

10.0.0.4 mysql-1
10.0.0.5 mysql-2
10.0.0.6 mysql-3

Si nous voulons vérifier si la jointure en cours est réussie, nous pouvons le vérifier grâce à l'instruction suivante :

Maintenant, toute la configuration est terminée. Les autres nœuds esclaves n'ont plus qu'à suivre les étapes ci-dessus. Pour les tests, nous devons créer une nouvelle base de données sur le nœud maître. , créez une table et écrivez des données. D'autres bases de données seront également synchronisées. Ensuite, après avoir fermé le nœud principal, nous pouvons demander quel nœud est actuellement le nœud principal via l'instruction suivante

 :
mysql> SET GLOBAL group_replication_bootstrap_group=ON;
mysql> START GROUP_REPLICATION;
mysql> SET GLOBAL group_replication_bootstrap_group=OFF;

Xamarin.
mysql> START GROUP_REPLICATION;
Android

-> .IOS -> Mélange-> Xamarin.Forms

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