


Comment implémenter la réplication maître-esclave MySQL sur un hôte Windows ?
La réplication maître-esclave de MySQL est implémentée via les journaux binlog. Le « maître » dans la réplication maître-esclave fait référence à la base de données sur le serveur maître MySQL, et « l'esclave » fait référence au serveur esclave MySQL. .base de données, et ce type de réplication est basé sur le niveau de la base de données. Pour cette raison, le nom de la base de données sur le serveur esclave doit être cohérent avec le nom de la base de données sur le serveur maître. Ensuite, pour réaliser la réplication maître-esclave. au moins deux serveurs MySQL (il est préférable que les deux serveurs MySQL soient situés sur des hôtes différents ou que deux serveurs MySQL soient installés sur un hôte avec des ports différents).
De manière générale, la base de données principale et la base de données esclave de la base de données MySQL sont distribuées sur différents hôtes. Si nous n'avons qu'un seul hôte maintenant et qu'il s'agit d'un système Windows, comment implémenter la réplication maître-esclave de MySQL ? La méthode est la suivante :
Ici, nous introduisons uniquement la méthode de fonctionnement de un maître et un esclave .
Mon ordinateur a installé l'environnement intégré xampp (similaire au package d'installation wamp), et le service MySQL qu'il contient peut être utilisé comme serveur principal de MySQL. Ensuite, nous devons également installer un autre MySQL sur cet ordinateur comme serveur esclave de la base de données.
La version MySQL installée sur mon ordinateur xampp est 5.6.20 et le port est 3306.
Nous devons installer un autre MySQL (il est préférable d'installer la même version ou une version similaire pour éviter les problèmes), et le port est changé en 3307
Paramètres du serveur de base de données :
Serveur maître (maître) : l'IP est 127.0.0.1, le port est 3306
Esclave : IP est 127.0.0.1, le port est 3307
Serveur maître Configuration :
Modifiez le fichier de configuration de la base de données du serveur principal (E:xamppmysqlbinmy.ini) En bas de la balise [mysqld], ajoutez ce qui suit. code :
#La base de données qui doit être sauvegardée
binlog-do-db=test
#La base de données qui n'a pas besoin d'être sauvegardée up
binlog-ignore-db=mysql
#Activer le journal binaire
log-bin=mysql-bin
#ID du serveur
server-id=1
Enregistrer Quittez et redémarrez le serveur principal MySQL.
binlog-do-db est utilisé pour spécifier la base de données qui doit être synchronisée. binlog-ignore-db spécifie la base de données qui n'a pas besoin d'être synchronisée. Si aucun paramètre n'est défini, l'esclave. Le serveur copiera le serveur maître toutes les bases de données.
Généralement, le compte root n'est pas utilisé pour le compte de synchronisation. Pour cette raison, nous devons créer un nouvel utilisateur sur le serveur principal (tel que user01, le mot de passe est 123456).
Ici, nous le créons en utilisant la ligne de commande. La méthode est la suivante :
Ouvrez cmd, passez à E:xamppmysqlbin. , utilisez le compte root pour vous connecter au serveur principal MySQL :
mysql -uroot -p -P3306
Créer un nouvel utilisateur :
créer l'utilisateur 'user01'@'127.0.0.1' identifié par '123456';
(l'adresse IP après @ L'adresse IP du client autorisé à se connecter.)
Ensuite, configurez les autorisations de réplication maître-esclave pour le nouveau utilisateur :
subvention esclave de réplication sur *.* vers 'user01'@'127.0.0.1' identifié par '123456';
(l'adresse IP après @ est autorisée à se connecter L'adresse IP du client, si elle est changée en '%', cela signifie que le client n'a aucune restriction d'adresse IP)
S'il y a déjà des données dans la base de données du serveur principal (test), nous besoin Copiez d'abord manuellement les données du serveur maître vers le serveur esclave. La méthode est la suivante :
Dans ce cas, nous ne sauvegardons qu'une seule base de données (test). Il y a une table basic_user dans test et il y a déjà des données dans la table. Afin d'éviter que les données du test de la base de données ne soient mises à jour lorsque nous copions les données, nous devons d'abord verrouiller la base de données. La commande est la suivante :
vider les tables avec verrouillage en lecture ;
Cette commande est un verrou de lecture global. Elle ajoutera des verrous de lecture à toutes les bases de données du serveur principal. est la différence entre les verrous en lecture et les verrous en écriture :
verrouillage en lecture : également appelé verrouillage partagé, autorise tous les lit l'opération, mais bloque les opérations d'écriture, c'est-à-dire que toutes les connexions ne peuvent lire que des données, mais ne sont pas autorisées à écrire des données.
verrouillage en écriture : également appelé verrouillage exclusif, verrouillage exclusif, autorise uniquement la lecture et l'écriture de la connexion actuelle, et n'autorise pas d'autres opérations de lecture et d'écriture simultanées .
Après avoir verrouillé la base de données du serveur maître, nous créons également un test de base de données dans le serveur esclave et mettons toutes les tables (y compris la structure et les données du tableau) sont importés.
Ensuite, nous exécutons la commande suivante pour déverrouiller :
déverrouiller les tables ; 🎜>
Afficher l'état du maître du serveur principal :mysql> +--------+----------+---------------+ --- ---------------+------------------+
| Position du fichier | | Binlog_Ignore_DB | Exécuté_Gtid_Set |+------------------+----------+-------- -- ----+------------------+-------------------+ | mysql-bin.000008 | 498 | test mysql +-------------+------------------+- ---------- ----+ Configuration du serveur esclave :Modifiez le fichier de configuration de la base de données du serveur esclave ( E:mysqlmy.ini), en bas de la balise
[mysqld], ajoutez le code suivant :#Port
port = 3307
#ID du serveurserver_id = 2 #Activer le journal binaire (le serveur esclave n'a pas besoin d'activer le journal binaire) log-bin=mysql-bin Enregistrez et quittez, redémarrez le service MySQL. Connectez-vous au serveur esclave MySQL : mysql -uroot -p -P3307 Configurez les paramètres copiés : changez le maître en master_host='127.0.0.1',master_user='user01',master_password='123456',master_port=3306, master_log_file= 'mysql-bin.000008',master_log_pos=498; Détails des paramètres : master_host : IP du maître server master_log_file : Le nom du fichier journal binaire du serveur maître, renseignez la valeur du fichier affiché lors de la visualisation de l'état maître du serveur maître master_log_pos : L'emplacement du journal, renseignez la valeur de Position affichée lors de la visualisation du statut maître du serveur maître Démarrer la fonction de copie de l'esclave depuis le serveur : démarrer l'esclave ; Afficher l'état de l'esclave depuis le serveur : mysql> *** *********************** 1. rangée ************* **************** **** Slave_IO_State : En attente que le maître envoie l'événement Master_Host : 127.0.0.1 Utilisateur_maître : utilisateur01 Si les valeurs de Slave_IO_Running et Slave_SQL_Running sont toutes deux Oui, cela signifie que toutes les configurations de réplication maître-esclave ont réussi, c'est-à-dire que le serveur esclave peut automatiquement se synchroniser avec le données de la base de données du serveur maître. Après cela, tant que les données du serveur principal sont mises à jour (par exemple : une nouvelle table est créée dans la base de données de test ou les données dans la changements de table), du serveur restera automatiquement cohérent avec le serveur principal. Mais si quelqu'un modifie délibérément les données sur le serveur esclave, les données sur le serveur maître ne seront pas mises à jour de manière synchrone à moins que nous configurions les deux serveurs MySQL comme maître-esclave mutuel. Articles associés : Installation de mysql-5.7.21 sous Windows Résumé des connaissances de base de MySQL navicat pour le téléchargement, l'installation et l'utilisation simple de MySQL
master_user : Le nom d'utilisateur nouvellement créé sur le serveur maître
master_password : Le mot de passe de l'utilisateur
master_port : Le port du serveur maître, s'il n'a pas été modifié, la valeur par défaut suffit.
Ce qui précède est ce que j'ai compilé sur l'architecture maître-esclave de la configuration de MySQL dans un environnement fenêtre. Les amis intéressés peuvent l'essayer.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le multithreading dans la langue peut considérablement améliorer l'efficacité du programme. Il existe quatre façons principales d'implémenter le multithreading dans le langage C: créer des processus indépendants: créer plusieurs processus en cours d'exécution indépendante, chaque processus a son propre espace mémoire. Pseudo-Multithreading: Créez plusieurs flux d'exécution dans un processus qui partagent le même espace mémoire et exécutent alternativement. Bibliothèque multi-thread: Utilisez des bibliothèques multi-threades telles que PTHEADS pour créer et gérer des threads, en fournissant des fonctions de fonctionnement de thread riches. Coroutine: une implémentation multi-thread légère qui divise les tâches en petites sous-tâches et les exécute tour à tour.

Oui, MySQL peut être installé sur Windows 7, et bien que Microsoft ait cessé de prendre en charge Windows 7, MySQL est toujours compatible avec lui. Cependant, les points suivants doivent être notés lors du processus d'installation: téléchargez le programme d'installation MySQL pour Windows. Sélectionnez la version appropriée de MySQL (communauté ou entreprise). Sélectionnez le répertoire d'installation et le jeu de caractères appropriés pendant le processus d'installation. Définissez le mot de passe de l'utilisateur racine et gardez-le correctement. Connectez-vous à la base de données pour les tests. Notez les problèmes de compatibilité et de sécurité sur Windows 7, et il est recommandé de passer à un système d'exploitation pris en charge.

Python Binary Library (.WHL) Méthode de téléchargement explore les difficultés que de nombreux développeurs Python rencontrent lors de l'installation de certaines bibliothèques sur les systèmes Windows. Une solution courante ...

La résolution du problème du démarrage lent Photoshop nécessite une approche à plusieurs volets, notamment: la mise à niveau du matériel (mémoire, lecteur à semi-conducteurs, CPU); des plug-ins désinstallés ou incompatibles; nettoyer régulièrement les déchets du système et des programmes de fond excessifs; clôture des programmes non pertinents avec prudence; Éviter d'ouvrir un grand nombre de fichiers pendant le démarrage.

Lecture efficace des journaux du système Windows: Traversé réversement des fichiers EVTX Lors de l'utilisation de Python pour traiter les fichiers journaux système Windows (.EVTX), la lecture directe sera du premier ...

Comment implémenter des fenêtres dans le développement frontal ...

Le multithreading est une technologie importante dans la programmation informatique et est utilisée pour améliorer l'efficacité de l'exécution du programme. Dans le langage C, il existe de nombreuses façons d'implémenter le multithreading, y compris les bibliothèques de threads, les threads POSIX et l'API Windows.

Pourquoi mon code ne peut-il pas faire renvoyer les données par l'API? En programmation, nous rencontrons souvent le problème du retour des valeurs nulles lorsque l'API appelle, ce qui n'est pas seulement déroutant ...
