当前位置:网站首页>MHA High available Cluster for MySQL

MHA High available Cluster for MySQL

2022-07-05 08:12:00 Jackie zhengchina

Table des matières

Un.、MHAGénéralités

1.1.MHA Qu'est - ce que c'est?

1.2.MHA Composition

1.3.MHA Caractéristiques

2.、MHAPréparation de la construction

2.1.Idées expérimentales

Trois、MHAConstruction

3.1Configurer la réplication maître - esclave

3.2.Installation MHA Logiciels

3.3.Simulation de défaillance

3.4.Dépannage

Quatre、Résumé


Un.、MHAGénéralités

1.1.MHA Qu'est - ce que c'est?

1.MHA(MasterHigh Availability)C'est un excellentMySQLLogiciel de FAILOVER et de réplication maître - esclave dans des environnements très disponibles.
2.MHA C'est la solution.MySQL Questions en un seul point.
3.MySQLPendant le FAILOVER,MHAPeut faire0-30L'opération FAILOVER se termine automatiquement en quelques secondes.
4.MHALa cohérence des données peut être garantie dans la plus grande mesure pendant le processus de défaillance,Pour atteindre une disponibilité vraiment élevée.

1.2.MHA Composition

(1)MHA Node(Noeuds de données)
MHA Node Il fonctionne sur chaque MySQL Sur le serveur.

(2)MHA Manager(Gérer les noeuds)
MHA Manager Peut être déployé seul sur une machine autonome,Gérer plusieurs master-slave Cluster;Peut également être déployé sur un slave Sur le noeud.
MHA Manager Détectera périodiquement master Noeud.Quand master En cas de défaillance,Il peut automatiquement mettre à jour les données slave Promu au nouveau master, Et puis il y aura tous les autres slave Rediriger vers le nouveau master.L'ensemble du processus de FAILOVER est entièrement transparent pour l'application.

 

1.3.MHA Caractéristiques

1.Pendant le FAILOVER automatique,MHATentative d'enregistrer le journal binaire à partir du serveur principal en panne,Garantie maximale que les données ne sont pas perdues.
2.Utiliser la réplication semi - synchrone,Le risque de perte de données peut être considérablement réduit,Si seulement unslaveLe dernier journal binaire a été reçu,MHAVous pouvez appliquer les derniers journaux binaires à tous les autresslaveSur le serveur,La cohérence des données peut donc être garantie pour tous les noeuds.
3.Pour l'instantMHAPrise en charge d'un schéma maître - esclave,Au moins trois services,C'est - à - dire un maître et deux esclaves.

2.、MHAPréparation de la construction

2.1.Idées expérimentales

  • MHAArchitecture①Installation de la base de données ②Un maître et deux esclaves ③MHAConstruction
  • Simulation de défaillance①Défaillance de la bibliothèque principale ②La Bibliothèque primaire alternative devient la Bibliothèque primaire ③Récupération de la base de données principale d'origine défectueuse pour rejoindreMHADevenir esclave de la Bibliothèque

Trois、MHAConstruction

3.1Configurer la réplication maître - esclave

1.Désactiver le pare - feu、Améliorations

### Fonctionnant sur quatre serveurs 
systemctl stop firewalld
systemctl disable firewalld
setenforce 0

2.Modifier Master、Slave1、Slave2 Nom d'hôte du noeud

###InMasterAllez.
hostnamectl set-hostname Mysql1
su
 
###InSlave1
hostnamectl set-hostname Mysql2
su
 
###InSlave2
hostnamectl set-hostname Mysql3
su

3.InMaster、Slave1、Slave2Ajouter une résolution de nom de domaine

192.168.40.10  Mysql1
192.168.40.100 Mysql2
192.168.40.30  Mysql3

4.Configurer la synchronisation maître - esclave

###Modifier Master、Slave1、Slave2 Node MysqlProfil principal/etc/my.cnf 
###Master Noeud###
vim /etc/my.cnf
[mysqld]
server-id = 1
log_bin = master-bin
log-slave-updates = true
 
systemctl restart mysqld
 
 
###Slave1 Noeud###
vim /etc/my.cnf
server-id = 2 						   ###Trois serveurs server-id Ça ne peut pas être pareil
log_bin = master-bin
relay-log = relay-log-bin
relay-log-index = slave-relay-bin.index
 
systemctl restart mysqld
 
 
###Slave2 Noeud###
vim /etc/my.cnf
server-id = 3 
log_bin = master-bin
relay-log = relay-log-bin
relay-log-index = slave-relay-bin.index
 
systemctl restart mysqld

5.Master、Slave1、Slave2 Deux liens souples sont créés sur le noeud

### Le serveur maître et les deux serveurs esclaves sont créés 
ln -s /usr/local/mysql/bin/mysql /usr/sbin/
ln -s /usr/local/mysql/bin/mysqlbinlog /usr/sbin/
ls /usr/sbin/mysql*

6.Connexion à la base de données MASTER slave configuration Authorization

#################Master、Slave1、Slave2 Tous les noeuds sont autorisés###################
 
grant replication slave on *.* to 'myslave'@'192.168.40.%' identified by '123456';
###Autoriser l'utilisateur maître - esclave
grant all privileges on *.* to 'mha'@'192.168.40.%' identified by 'manager';
grant all privileges on *.* to 'mha'@'Mysql1' identified by 'manager';
grant all privileges on *.* to 'mha'@'Mysql2' identified by 'manager';
grant all privileges on *.* to 'mha'@'Mysql3' identified by 'manager';
 
#Actualiser la bibliothèque
flush privileges;

 Attention!: Le serveur maître et les deux serveurs esclaves doivent être autorisés

7.MasterNoeud pour voir les binaires et les points de synchronisation 、In Slave1、Slave2 Le noeud effectue une opération de synchronisation

#################InmasterAllez.##################
show master status;
 
##############Inslave1、slave2Le noeud effectue une opération de synchronisation############
change master to master_host='192.168.400.10',master_user='myslave',master_password='123456',master_log_file='master-bin.000001',master_log_pos=1745;
start slave;
show slave status\G;

8.Définir deux noeuds esclaves Mode lecture seule

### Configurer sur deux serveurs esclaves 
set global read_only=1;

9.Vérifier la réplication maître - esclave

###Dans le SeigneurmasterCréer une bibliothèque sur、Tableau et insertion des données
create database test1;
use test1;
insert into info values('Xiao Ming');
select * from test1.info;
 
###Inslave1、slave2Validation supérieure
select * from test1.info;

3.2.Installation MHA Logiciels

1.Installé sur tous les serveursMHAEnvironnement dépendant,Installez d'abordepelSource

###Inmaster、slave1、slave2、mha Tout est installé sur le serveur 
 
yum install epel-release --nogpgcheck -y
 
yum install -y perl-DBD-MySQL \
perl-Config-Tiny \
perl-Log-Dispatch \
perl-Parallel-ForkManager \
perl-ExtUtils-CBuilder \
perl-ExtUtils-MakeMaker \
perl-CPAN

 2.InstallationMHAPaquets,Doit d'abord être installé sur tous les serveursnodeComponents

  • Différent pour chaque version du système d'exploitation,Ici. CentOS7.4 Vous devez sélectionner 0.57 Version.
  • Doit être installé sur tous les serveurs node Components,Enfin, MHA-manager Installation sur le noeud manager Components,Parce que manager Dépendance node Components
##Télécharger les paquets requis à/optEn bas.##
 
##Décompresser l'installation sur chaque serveurnodeComponents##
cd /opt
tar zxf mha4mysql-node-0.57.tar.gz
cd mha4mysql-node-0.57
perl Makefile.PL
make && make install

Attention!: Installer sur les quatre serveurs nodeComponents

3.InMHA-managerInstallation sur le noeud manager Components

### Mettez les sacs nécessaires dans optEn bas.
tar zxvf mha4mysql-manager-0.57.tar.gz 
cd mha4mysql-manager-0.57/
perl Makefile.PL
make && make install

cd /usr/local/bin/
#manager Après l'installation des composants/usr/local/bin Plusieurs outils sont générés ci - dessous,Comprend principalement les éléments suivants:
masterha_check_ssh Vérifiez MHA De SSH Configuration de l'état
masterha_check_repl Vérifiez MySQL État de la réplication
masterha_manger Démarrage managerScript pour
masterha_check_status Détecter le courant MHA État de fonctionnement
masterha_master_monitor Détection master Arrêt ou non
masterha_master_switch Contrôle du FAILOVER(Automatique ou Manuel)
masterha_conf_host Ajouter ou supprimer des configurations server Information
masterha_stop  Fermermanager
 
#node Les composants sont également installés après/usr/local/bin Plusieurs scripts seront générés ci - dessous(Ces outils sont généralement fabriqués par MHAManager Le script de,Aucune action humaine n'est nécessaire)Principalement comme suit:
save_binary_logs Enregistrer et copier master Journal binaire de
apply_diff_relay_logs Identifier les événements du Journal de relais qui diffèrent et appliquer les événements qui diffèrent à d'autres slave
filter_mysqlbinlog Enlever les ROLLBACK Événements(MHA Cet outil n'est plus utilisé)
purge_relay_logs Effacer le journal de relais(Ça ne bloque pas SQL Thread)

4.Configurer l'authentification sans mot de passe sur tous les serveurs

###InmanagerAuthentification sans mot de passe configurée sur le noeud pour tous les noeuds de base de données
ssh-keygen -t rsa 				#Appuyez sur la touche Entrée tout le chemin
ssh-copy-id 192.168.40.10
ssh-copy-id 192.168.40.100
ssh-copy-id 192.168.40.30
####Les serveurs de base de données peuvent être importés les uns des autres####
 
 
###InmasterAllez.
ssh-keygen -t rsa 				#Appuyez sur la touche Entrée tout le chemin
ssh-copy-id 192.168.40.100
ssh-copy-id 192.168.40.30
 
 
###Inslave1Allez.
ssh-keygen -t rsa 				#Appuyez sur la touche Entrée tout le chemin
ssh-copy-id 192.168.40.10
ssh-copy-id 192.168.40.30
 
 
###Inslave2Allez.
ssh-keygen -t rsa 				#Appuyez sur la touche Entrée tout le chemin
ssh-copy-id 192.168.40.10
ssh-copy-id 192.168.40.100
###Test de connexion sans secret###
 
###InmanagerSur le noeud
ssh 192.168.40.10
ssh 192.168.40.100
ssh 192.168.40.30
 
###InmasterSur le noeud
ssh 192.168.40.100
ssh 192.168.40.30
 
###Inslave1Sur le noeud
ssh 192.168.40.10
ssh 192.168.40.30
 
 
###Inslave2Sur le noeud
ssh 192.168.40.10
ssh 192.168.40.100

5.InmanagerOpération sur le noeud

(1)###InmanagerCopier les scripts connexes sur le noeud à/usr/local/bin Table des matières
cp -rp /opt/mha4mysql-manager-0.57/samples/scripts /usr/local/bin
 
#Il y aura quatre fichiers d'exécution après la copie
ll /usr/local/bin/scripts/
master_ip_failover  		#Lors de la commutation automatiqueVIPScripts gérés
master_ip_online_change 	#Lors de la commutation en lignevipGestion
power_manager 				#Script pour arrêter l'hôte après un échec
send_report 				#Un script qui envoie une alarme après un échec
 
(2)###Lors de la copie du commutateur automatique ci - dessusVIPScripts gérés à/usr/local/binTable des matières,Utilisez icimaster_ip_failoverScript pour gérer VIP Et FAILOVER
cp /usr/local/bin/scripts/* /usr/local/bin
 
(3)###Modifiermaster_ip_failover Supprimer tout,Ajouter ce qui suit:,Modifier les paramètres pertinents
 
#!/usr/bin/env perl
use strict;
use warnings FATAL => 'all';
 
use Getopt::Long;
 
my (
$command, $ssh_user, $orig_master_host, $orig_master_ip,
$orig_master_port, $new_master_host, $new_master_ip, $new_master_port
);
#############################Ajouter une section de contenu#########################################
my $vip = '192.168.40.188';									#DésignationvipAdresse
my $brdc = '192.168.40.255';								#DésignationvipAdresse de diffusion de
my $ifdev = 'ens33';										#DésignationvipCarte réseau liée
my $key = '1';												#DésignationvipNuméro de série de la carte réseau virtuelle liée
my $ssh_start_vip = "/sbin/ifconfig ens33:$key $vip";		#Indique que la valeur de cette variable estifconfig ens33:1 192.168.40.188
my $ssh_stop_vip = "/sbin/ifconfig ens33:$key down";		#Indique que la valeur de cette variable estifconfig ens33:1 192.168.40.188 down
my $exit_code = 0;											#Spécifie que le Code d'état de sortie est0
#my $ssh_start_vip = "/usr/sbin/ip addr add $vip/24 brd $brdc dev $ifdev label $ifdev:$key;/usr/sbin/arping -q -A -c 1 -I $ifdev $vip;iptables -F;";
#my $ssh_stop_vip = "/usr/sbin/ip addr del $vip/24 dev $ifdev label $ifdev:$key";
##################################################################################
GetOptions(
'command=s' => \$command,
'ssh_user=s' => \$ssh_user,
'orig_master_host=s' => \$orig_master_host,
'orig_master_ip=s' => \$orig_master_ip,
'orig_master_port=i' => \$orig_master_port,
'new_master_host=s' => \$new_master_host,
'new_master_ip=s' => \$new_master_ip,
'new_master_port=i' => \$new_master_port,
);
 
exit &main();
 
sub main {
 
print "\n\nIN SCRIPT TEST====$ssh_stop_vip==$ssh_start_vip===\n\n";
 
if ( $command eq "stop" || $command eq "stopssh" ) {
 
my $exit_code = 1;
eval {
print "Disabling the VIP on old master: $orig_master_host \n";
&stop_vip();
$exit_code = 0;
};
if ([email protected]) {
warn "Got Error: [email protected]\n";
exit $exit_code;
}
exit $exit_code;
}
elsif ( $command eq "start" ) {
 
my $exit_code = 10;
eval {
print "Enabling the VIP - $vip on the new master - $new_master_host \n";
&start_vip();
$exit_code = 0;
};
if ([email protected]) {
warn [email protected];
exit $exit_code;
}
exit $exit_code;
}
elsif ( $command eq "status" ) {
print "Checking the Status of the script.. OK \n";
exit 0;
}
else {
&usage();
exit 1;
}
}
sub start_vip() {
`ssh $ssh_user\@$new_master_host \" $ssh_start_vip \"`;
}
## A simple system call that disable the VIP on the old_master
sub stop_vip() {
`ssh $ssh_user\@$orig_master_host \" $ssh_stop_vip \"`;
}
 
sub usage {
print
"Usage: master_ip_failover --command=start|stop|stopssh|status --orig_master_host=host --orig_master_ip=ip --orig_master_port=port --new_master_host=host --new_master_ip=ip --new_master_port=port\n";
}
 
#Supprimer le commentaire
:2,87 s/^#//
 
(4)###Création MHA Répertoire du logiciel et copie des fichiers de configuration,Utilisez iciapp1.cnfProfil pour gérer mysql Serveur de noeuds
 
#Création MHA Répertoire du logiciel et copie des fichiers de configuration
cd /opt/mha4mysql-manager-0.57/samples/conf/
ls
mkdir /etc/masterha
cp app1.cnf /etc/masterha/
 
 
#Modifierapp1.cnfProfil,Supprimer tout le texte original,Ajouter ce qui suit
vim /etc/masterha/app1.cnf
[server default]
manager_workdir=/var/log/masterha/app1
master_binlog_dir=/usr/local/mysql/data
manager_log=/var/log/masterha/app1/manager.log
manager_workdir=/var/log/masterha/app1
master_binlog_dir=/usr/local/mysql/data
master_ip_failover_script=/usr/local/bin/master_ip_failover
master_ip_online_change_script=/usr/local/bin/master_ip_online_change
password=manager
ping_interval=1
remote_workdir=/tmp
repl_password=123456
repl_user=myslave
secondary_check_script=/usr/local/bin/masterha_secondary_check -s 192.168.250.60 -s 192.168.250.70
shutdown_script=""
ssh_user=root
user=mha
 
[server1]
hostname=192.168.40.10
port=3306
 
[server2]
candidate_master=1
check_repl_delay=0
hostname=192.168.40.100
port=3306
 
[server3]
hostname=192.168.40.30
port=3306
 
(5)###Activer le virtuel sur le noeud MaîtreIP
ifconfig  ens33:1 192.168.40.188/24
 
(6)###In manager Test sur le noeud ssh Pas d'authentification par mot de passe,Si la sortie finale normale est successfully.Comme suit
masterha_check_ssh -conf=/etc/masterha/app1.cnf
 
(7)###In manager Test sur le noeud mysql Connexion maître - esclave,Et enfin MySQL Replication Health is OK La légende est normale.Comme suit.
masterha_check_repl -conf=/etc/masterha/app1.cnf
 
(8)###In manager Démarrage sur le noeud MHA
nohup masterha_manager --conf=/etc/masterha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1 &
 
(9)###Voir MHA Statut,Vous pouvez voir le master - Oui. Mysql1 Noeud.
masterha_check_status --conf=/etc/masterha/app1.cnf
 
(10)###Voir MHA Log,Pour voir aussi le master - Oui. 192.168.250.118,Comme suit.
cat /var/log/masterha/app1/manager.log | grep "current master"
 
(11)###Voir Mysql1 De VIP Adresse 192.168.250.118 Existe - t - il?,C'est VIP L'adresse ne sera pas parce que manager Noeud arrêté MHA Le Service disparaît.
ifconfig
 
//Pour fermer manager Services,Vous pouvez utiliser la commande suivante.
masterha_stop --conf=/etc/masterha/app1.cnf
Ou peut être adopté directement kill Processus ID La façon dont.

Le profil est expliqué ci - dessous:

[server default]
manager_log=/var/log/masterha/app1/manager.log      #managerLog
manager_workdir=/var/log/masterha/app1            #managerTable des matières
master_binlog_dir=/usr/local/mysql/data/         #masterEnregistrerbinlogEmplacement,Le chemin ici est relié àmasterConfiguré dansbinlogLe chemin vers,Pour queMHAOn peut le trouver.
master_ip_failover_script=/usr/local/bin/master_ip_failover  #Réglage automatiquefailoverScript de basculement du temps,C'est le script ci - dessus
master_ip_online_change_script=/usr/local/bin/master_ip_online_change  #Définir le script de commutation lors de la commutation manuelle
password=manager			#ParamètresmysqlMoyennerootMot de passe de l'utilisateur,Ce mot de passe est le mot de passe que vous avez créé pour surveiller l'utilisateur plus tôt
ping_interval=1				#Configuration de la bibliothèque principale de surveillance,EnvoyerpingIntervalle de temps entre les paquets,Par défaut3Secondes,Essayez trois fois sans réponse automatiquementfailover
remote_workdir=/tmp			#Réglage de l'extrémité distantemysqlEn cas de commutationbinlogEnregistrer l'emplacement de
repl_password=123456			#Définir le mot de passe de l'utilisateur de réplication
repl_user=myslave			#Définir l'utilisateur pour copier l'utilisateur
report_script=/usr/local/send_report     #Script pour définir les alarmes envoyées après le basculement
secondary_check_script=/usr/local/bin/masterha_secondary_check -s 192.168.40.100 -s 192.168.40.30	#Spécifiez le serveur esclave à vérifierIPAdresse
shutdown_script=""			#Définir l'arrêt du script hôte défectueux après la défaillance(Le rôle principal de ce script est d'arrêter l'hôte pour empêcher les fissures cérébrales,Il n'est pas utilisé ici.)
ssh_user=root				#ParamètressshNom d'utilisateur de connexion pour
user=mha					#Configuration de l'utilisateur de surveillanceroot
 
[server1]
hostname=192.168.40.10
port=3306
 
[server2]
hostname=192.168.40.100
port=3306
candidate_master=1
#Définir comme candidatmaster,Après avoir défini ce paramètre,Ceci sera promu de la Bibliothèque primaire à la Bibliothèque primaire après le basculement maître - esclave,Même si cette bibliothèque esclave n'est pas à jour dans le clusterslave
 
check_repl_delay=0
#Par défaut, si unslaveEn retardmaster Plus que100MDe relay logsEt si,MHANe sera pas sélectionnéslaveEn tant que nouveaumaster, Parce que pour çaslaveIl faut beaucoup de temps pour récupérer;Via les paramètrescheck_repl_delay=0,MHADéclenchez le basculement lors de la sélection d'un nouveaumasterLe délai de réplication sera ignoré,Ce paramètre est défini pourcandidate_master=1L'hôte est très utile,Parce que ce candidat doit être nouveau dans le processus de commutationmaster
 
[server3]
hostname=192.168.40.30
port=3306

(6)###InmanagerTest sur le noeud ssh Pas d'authentification par mot de passe,Si la sortie finale normale est successfully.Comme suit.

(7)###InmanagerTest sur le noeud mysql Connexion maître - esclave,Et enfin MySQL Replication Health is OK La légende est normale.Comme suit.

(8)###In manager Démarrage sur le noeud MHA

(9)###Voir MHA Statut,Vous pouvez voir le master - Oui. Mysql1 Noeud.

(10)###Voir MHA Log,Pour voir aussi le master - Oui. 192.168.40.10,Comme suit.

 (11)Voir Mysql1 De VIP Adresse 192.168.250.188 Existe - t - il?,C'est VIP L'adresse ne sera pas parce que manager Noeud arrêté MHA Le Service disparaît.

3.3.Simulation de défaillance

###In manager Surveillance de la journalisation des observations sur les noeuds
tail -f /var/log/masterha/app1/manager.log
 
###In Master Noeud Mysql1 Stop!mysqlServices
systemctl stop mysqld
Ou
pkill -9 mysql
 
###Inslave1,slave2Voir ci - dessus,Après un changement automatique normal,MHA Le processus s'arrête.HMA Sera automatiquement modifié app1.cnf Contenu du fichier,Qui va s'arrêter mysql1 Suppression de noeuds.
Voir mysql2 Prise en charge ou non VIP
ifconfig
 
 
Algorithme de FAILOVER alternative Master Library:
1.Le jugement général est basé sur la bibliothèque(position/GTID)Juger le bien ou le mal,Les données varient,Le plus proche demasterDeslave,Devenir un maître alternatif.
2.Avec des données cohérentes,Dans l'ordre des profils,Sélectionnez une autre bibliothèque primaire.
3.Le réglage est pondéré(candidate_master=1),Force la désignation d'un maître alternatif en fonction du poids.
(1)Par défaut, si unslaveEn retardmaster 100MDerelay logsEt si,Même avec le poids,Ça ne marchera pas..
(2)Sicheck_repl_delay=0Et si,Même si les journaux sont loin derrière,Il est également obligatoire de le sélectionner comme maître alternatif.

###In Master Noeud Mysql1 Stop!mysqlServices

###Inslave1,slave2Voir ci - dessus,Voir mysql2 Prise en charge ou non VIP

3.4.Dépannage

1.#Réparationmysql1
systemctl restart mysqld
 
2.#Réparer maître esclave
#Sur le serveur actuel de la bibliothèque principale Mysql2 Voir les binaires et les points de synchronisation
show master status;
#Sur le serveur original de la bibliothèque principale mysql1 Effectuer une opération de synchronisation
change master to master_host='192.168.40.100',master_user='myslave',master_password='123456',master_log_file='master-bin.000003',master_log_pos=154;
start slave;
show slave status\G;
 
3.#In manager Modifier le profil sur le noeudapp1.cnf(Ajoutez cet enregistrement,Parce qu'il disparaît automatiquement lorsqu'il détecte une défaillance)
vi /etc/masterha/app1.cnf
....
secondary_check_script=/usr/local/bin/masterha_secondary_check -s 192.168.40.100 -s 192.168.40.30
....
[server1]
hostname=192.168.40.10
port=3306
 
[server2]
candidate_master=1
check_repl_delay=0
hostname=192.168.40.100
port=3306
 
[server3]
hostname=192.168.40.30
port=3306
 
4.#In manager Démarrage sur le noeud MHA
nohup masterha_manager --conf=/etc/masterha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1 &

In manager Modifier le profil sur le noeudapp1.cnf(Ajoutez cet enregistrement,Parce qu'il disparaît automatiquement lorsqu'il détecte une défaillance)

4.In manager Démarrage sur le noeud MHA

 

Quatre、Résumé

1.MHA

①Action:MySQLHaute disponibilité,FAILOVER.

②Composante de base:(1)MHAComponents:manager:Principales fonctions:Fais - le.MHADémarrage, Désactiver la gestion et la détection MySQL Les différents états de santé de .                                                      niode:En cas de défaillance, Enregistrer les journaux binaires autant que possible , Et réaliser le FAILOVER (VIP Adresse élégante )

③MHA Profil requis (2- Oui.):

master_ip_failover:Outils de commande, La définition est basée sur VIP Détection et défaillance de (VIPDemaster ----》Nouveau master)

appl.conf:MHAProfil principal de,La définition principale estmhaRépertoire de travail pour、LogmysqlEmplacement du Journal binaire,UtiliserMHAConnexion àMySQLUtilisateurs de、 Le mot de passe est utilisé par le serveur esclave . Synchronisation de l'identité masterNuméro de compte de、Mot de passe(Cinq.).

④FAILOVERMHA Quelles actions :

(1)MHA Il y aura plusieurs tentatives de détection masterÉtat de survie.

(2)MHAJ'essaierai plus d'une fois, Conserver autant que possible masterBinaires pour

(3)MHASera basé surapp1.cnfSection de configuration dans, Effectuer le serveur esclave ------》 Emplacement du serveur principal

(4)MHAEnfin,masterDeVIP Changement d'adresse à partir du serveur

(5)MHA Sélectionnez un nouveau masterAprès, Ce sera dans le reste slaveExécution supérieurechange masterFonctionnement,Pointer vers le nouveaumaster,Pour garantirMySQL Santé des grappes .

2.MHAProblèmes de défaillance

① Pour faire un lien souple .

②Aucune interaction(Connexion sans mot de passe)

③ Cinq comptes autorisés ( Trois de ces comptes sont nécessaires pour tester l'environnement )

④Première courseMHATemps de fonctionnement, Besoin d'ajouter temporairement un virtuel ip

⑤Profil --- Vérification (master_ip_failover 1 Scripts FAILOVER ,appl.cnf.mhaProfil principal pour)

⑥Installer d'abordnodeNoeud, Réinstaller le noeud Maître .


---------------------
Auteur:H unter
Source::CSDN
Original: ANGLAIS:https://blog.csdn.net/m0_59579177/article/details/125531603
Avis de copyright:Article original de l'auteur,Réimpression Veuillez joindre un lien vers le blog!
Analyse du contenuBy:CSDN,CNBLOGArticle de blog réimpression du plugin en un clic

原网站

版权声明
本文为[Jackie zhengchina]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/186/202207050811312678.html