Machine de test : Maître 192.168.1.71 Esclave 192.168.1.74
Étape 1 : Générer un compte sur la base de données maître pour accorder les autorisations à la base de données esclave (voir autorisation MYSQL ci-dessus)
Étape 2 : Modifier la configuration maître file
Server-id = 1 Server-id = 1 //ID de la base de données principale
🎜> Log -bin = mysql-bin //Ouvrir le journal binaire
Étape 3 : Redémarrer le serveur principal
Étape 4 : Exécutez les tables de vidage avec verrouillage en lecture sur le serveur principal ;
Étape 5 : Sur le serveur principal, exécutez show master status ; mémorisez le fichier binaire et l'emplacement
Étape 6 : Obtenez l'instantané sur le maître. Il existe actuellement deux méthodes, l'une consiste à le conditionner directement avec tar et l'autre est mysqldump Ensuite, copiez-le dans le répertoire de données esclave correspondant de la bibliothèque. Mais j’ai entendu dire que LVM est utile et que c’est très rapide, je n’ai pas trouvé les bonnes informations pour apprendre.
Étape 7 : Déverrouillez les tables de déverrouillage de la base de données maître ;
Étape 8 : Modifiez le fichier de configuration de la base de données esclave
Server-id = 2 //ID du serveur esclave pour éviter la duplication avec le maître
Log-slave - mises à jour //Écrivez les données mises à jour à partir du processus SQL du serveur dans son propre journal binaire
Master-connect-retry = 60 //Lorsque l'esclave est déconnecté, reconnectez-vous au maître après 60 secondes
Étape 9 : Dans Définir la synchronisation depuis la bibliothèque
Arrêt de l'esclave ;
Remplacer le maître par master_host='192.168.1.71',master_user='Utilisateur généré lors de la première étape',master_password='Mot de passe généré lors de la première étape',master_log_file= ' mysql-bin.000062',master_log_pos=316406;
Étape 10 : Démarrez le démarrage de la bibliothèque esclave ; et vérifiez l'état de la bibliothèque esclave, affichez l'état de l'esclaveG, comme indiqué dans la figure : Si oui, la communication maître-esclave est normale. Seconds_Behind_Master est 0, indiquant que l'état du délai de synchronisation maître-esclave est bon.
Remarque : la réplication maître-esclave est implémentée via le thread de vidage du maître et le thread IO et le thread SQL de l'esclave. Vous pouvez vous connecter à MYSQL et utiliser show processlist pour afficher l'état du fil. Le thread IO esclave extrait le journal binaire sur le serveur maître, puis l'écrit dans son propre journal de relais (c'est-à-dire Relay_log_File). Ensuite, le thread SQL esclave lit le journal de relais et écrit les instructions et opérations SQL dans la base de données locale.
Questions fréquemment posées sur le fonctionnement maître-esclave MYSQL :
1. Assurez-vous que les serveurs maître et esclave MYSQL fonctionnent normalement et que les journaux binaires sont ouverts, à partir desquels vous pouvez utiliser le compte de réplication pour accéder au base de données principale,
2. IO d'en haut Si le thread affiche NON, alors démarrez slave io_thread;3 À partir de ce qui précède, si le thread SQL affiche NON, vous devez rechercher dans le journal des erreurs. , modifiez manuellement ou ignorez directement cette opération (pour assurer la sécurité), ignorez cette opération Vous pouvez utiliser SET GLOBAL SQL_slave_SKIP_COUNTER = 1 ; puis démarrer l'esclave ;
Pour rétablir la fonction maître-esclave, vous devez supprimer le master.info, relay-log.info dans la base de données esclave
5. Lorsque le serveur maître se bloque ou que les performances diminuent, utilisez le serveur esclave (assurez-vous que toutes les données de l'esclave ont été synchronisées avec le serveur maître, vous peut vérifier la position et les fichiers dans l'état du maître, puis juger en fonction de Master_log_File, Read_Master_log_pos, Relay_Master_log_file, Exec_Master_log_Pos dans l'état de l'esclave), vous avez besoin d'exécution :
Arrêter l'IO_thread de l'esclave ;
Arrêter l'esclave ;
Réinitialiser master;
Supprimer également master.info relay-log.info
Redémarrer depuis MYSQL
ou supérieur Ceci est le résumé d'apprentissage MYSQL (5) : le contenu de la construction maître-esclave MYSQL. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.php.cn) !