base de données
tutoriel mysql
Vous apprendre étape par étape comment configurer la réplication maître-esclave dans Mysql5.7
Vous apprendre étape par étape comment configurer la réplication maître-esclave dans Mysql5.7
Comment configurer la réplication maître-esclave dans Mysql5.7 ? L'article suivant vous présentera les étapes à suivre pour créer une réplication maître-esclave Mysql5.7. Les amis dans le besoin peuvent en apprendre davantage ~

1. Présentation
La réplication maître-esclave peut réaliser une sauvegarde et une lecture de base de données. séparation d'écriture :
2. Architecture de réplication des esclaves maître-esclaveAfin d'éviter l'indisponibilité du service et d'assurer la sécurité et la fiabilité des données, nous devons déployer au moins deux serveurs ou plus pour stocker les données de la base de données, c'est-à-dire que nous devons copier les données et les déployer sur plusieurs serveurs différents Sur Internet, même si un serveur tombe en panne, d'autres serveurs peuvent toujours continuer à fournir des services.
MySQL fournit une fonction de réplication maître-esclave pour améliorer la disponibilité des services ainsi que la sécurité et la fiabilité des données. est divisé en un serveur maître et un serveur esclave. Depuis le serveur, le serveur maître est responsable de la lecture et de l'écriture, et le serveur esclave est uniquement responsable de la réplication maître-esclave est également appelée maître/esclave. le maître et l'esclave sont l'esclave, mais ce n'est pas obligatoire, ce qui signifie que l'esclave peut aussi écrire et le maître peut aussi lire, mais généralement nous ne le faisons pas.
un maître et plusieurs esclaves Architecture: 
Multiple Master et multiple architecture des esclaves: 
Principe de réplication-esclave:
- Quand les données sur le serveur maître Lorsqu'un changement se produit, le changement sera écrit dans le fichier journal des événements binaires
- salve Le serveur esclave détectera le journal binaire sur le serveur maître dans un certain intervalle de temps pour détecter s'il a changé si le maître. Le serveur est détecté Si le journal des événements binaires du serveur enregistre le journal des événements binaires reçu dans son fichier journal de relais local
- salve Le serveur esclave démarrera SQL Thread pour lire le journal binaire du journal de relais et le relire localement pour créer ses données cohérent avec le serveur maître ;
- Enfin, le thread d'E/S et le thread SQL entreront en état de veille et attendront la prochaine fois qu'ils seront réveillés
- 3. Construction d'un maître et de plusieurs esclaves
- Environnement de construction :
1. Version Linux CentOS version 6.9 (Finale)
2. mysql-5.7.26-linux-glibc2.12-x86_64.tar.gzAdresse de téléchargement 1. Décompressez mysql-5.7.26-linux-glibc2. 12-x86_64.tar.gz1. Linux 版本 CentOS release 6.9 (Final)2. mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz下载地址
1.解压 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
#/usr/local下解压 tar xzvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz #重命名文件 mv mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz mysql
2.创建多实例数据目录
cd /usr/local/mysql mkdir data cd data #主 mkdir 3306 #从 mkdir 3307

3.数据库初始化
#mysql 安装bin目录下执行 #initialize-insecure 表示不生成MySQL数据库root用户的随机密码,即root密码为空 #初始化3306 ./mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/3306 --user=mysql #初始化3307 ./mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/3307 --user=mysql
若出现错误执行yum install libaio-devel.x86_64yum -y install numactl
4.创建各个数据库的配置文件my.cnf
注意:1.建议在linux下创建文件防止windows 与 linux 编码不一致2.不同的实例下配置要修改端口号3.将修改好的my.cnf分别放至3306、3307文件夹内
[client] port = 3306 socket = /usr/local/mysql/data/3306/mysql.sock default-character-set=utf8 [mysqld] port = 3306 socket = /usr/local/mysql/data/3306/mysql.sock datadir = /usr/local/mysql/data/3306 log-error = /usr/local/mysql/data/3306/error.log pid-file = /usr/local/mysql/data/3306/mysql.pid character-set-server=utf8 lower_case_table_names=1 autocommit = 1 log-bin=mysql-bin server-id=3306
5.多实例启动
切换到/usr/local/mysql-5.7.24/bin目录下,使用 msyqld_safe 命令指定配置文件并启动MySQL服务:
#其中 --defaults-file 是指定配置文件,& 符合表示后台启动 ./mysqld_safe --defaults-file=/usr/local/mysql/data/3306/my.cnf & ./mysqld_safe --defaults-file=/usr/local/mysql/data/3307/my.cnf &
6.数据库初始化配置
分别在各个实例内进行配置 如3306:
#客户端连接 ./mysql -uroot -p -P3306 -h127.0.0.1 #修改Mysql密码 alter user 'root'@'localhost' identified by 'root'; #授权远程访问(这样远程客户端才能访问) grant all privileges on *.* to root@'%' identified by 'root'; #刷新配置 flush privileges;
客户端连接测试
7.数据库唯一id配置
1.确定各个实例正常启动无误后进行主从配置2.关闭实例分别在各个实例的my.cnf文件加入以下配置
#/usr/local/mysql/bin 关闭实例 ./mysqladmin -uroot -p -P3307 -h127.0.0.1 shutdown ./mysqladmin -uroot -p -P3306 -h127.0.0.1 shutdown #新加的配置 log-bin=mysql-bin #表示启用二进制日志 server-id=3307 #表示server编号,编号要唯一 建议和端口保持一致
加入完毕后启动各个实例
./mysqld_safe --defaults-file=/usr/local/mysql/data/3306/my.cnf & ./mysqld_safe --defaults-file=/usr/local/mysql/data/3307/my.cnf &
7.主机设置1.在主服务器上创建复制数据的账号并授权
#在/usr/local/mysql/bin目录下执行 ./mysql -uroot -p -P3306 -h127.0.0.1 grant replication slave on *.* to 'copy'@'%' identified by 'root';
2.查看主服务器状态
# mysql主服务器默认初始值: # File:mysql-bin.000001 # Position:154 show master status;
3.如果主服务状态不是初始状态,需要重置状态
reset master;
7.从机设置
1.需要登录到 3306|3307|3308的从机客户端
#在/usr/local/mysql/bin目录下执行 多台从机‘|’分隔 ./mysql -uroot -p -P3308|3309|3310 -h127.0.0.1
2.查看从机状态
#初始状态:Empty set show slave status;
3.若不是初始状态,重置一下
stop slave; #停止复制,相当于终止从服务器上的IO和SQL线程 reset slave;
4.设置从机设置主机配置
change master to master_host='主机ip',master_user='copy', master_port=主机端口,master_password='连接主机密码', master_log_file='mysql-bin.000001',master_log_pos=154;
5.执行 开始复制命令
start slave;
6.查看从机状态
show slave status \G;🎜2. Créez un répertoire de données multi-instance🎜🎜
stop slave; set global sql_slave_skip_counter =1; start slave; show slave status\G;🎜
🎜🎜3. Initialisation de la base de données🎜🎜slave-parallel-type=LOGICAL_CLOCK slave-parallel-workers=16 master_info_repository=TABLE relay_log_info_repository=TABLE relay_log_recovery=ON🎜Si une erreur se produit, exécutez 🎜
yum installez libaio-devel.x86_64🎜yum - et installez numactl
🎜 🎜4. Créez le fichier de configuration my.cnf pour chaque base de données🎜🎜🎜Remarque :🎜1. Il est recommandé de créez le fichier sous Linux pour éviter l'incohérence de codage entre Windows et Linux🎜 2. Modifiez le numéro de port lors de la configuration des différentes instances🎜3 Placez le my.cnf modifié dans le fichier my.cnf modifié. 3306 et 3307 respectivement🎜rrreee🎜🎜5. Démarrez plusieurs instances 🎜🎜🎜Basculez vers le répertoire /usr/local/mysql-5.7.24/bin, utilisez la commande msyqld_safe pour spécifier le fichier de configuration et démarrez le Service MySQL : 🎜🎜rrreee🎜🎜6. Configuration d'initialisation de la base de données 🎜🎜🎜 dans chaque Configurer dans l'instance comme 3306 :🎜rrreee🎜Test de connexion client🎜
🎜🎜7. Configuration de l'identifiant unique de la base de données🎜🎜🎜1. Confirmez que chaque instance démarre normalement et effectuez la configuration maître-esclave🎜 2 Fermez l'instance et ajoutez la configuration suivante au fichier my.cnf de chaque instance🎜rrreee🎜<. code>Démarrez chaque instance après l'avoir ajoutée🎜rrreee🎜🎜7. Paramètres de l'hôte🎜🎜1 Créez un compte pour répliquer les données sur le serveur principal et autorisez-le🎜rrreee🎜. 2. Vérifiez l'état du serveur principal🎜rrreee🎜3. Si l'état du service principal n'est pas l'état initial, vous devez réinitialiser l'état🎜rrreee🎜🎜7. 🎜🎜1.Besoin de se connecter au client esclave de 3306|3307|3308🎜rrreee🎜2 .Vérifiez l'état de l'esclave🎜rrreee🎜3. ce n'est pas l'état initial, réinitialisez-le🎜rrreee🎜4. Définissez la configuration de l'hôte du paramètre esclave🎜rrreee🎜 5. Exécutez la commande de démarrage de la copie🎜rrreee. 🎜6. Vérifiez le statut de l'esclave🎜show slave status \G;

7.测试主从复制
在主数据库中进行创建表,从库同步就算搭建成功了!
若你在从库进行写操作,则从服务器不再同步主库数据,在从库中执行此命令即可解决!
stop slave; set global sql_slave_skip_counter =1; start slave; show slave status\G;
若主从复制速度较慢的话,执行此命令
slave-parallel-type=LOGICAL_CLOCK slave-parallel-workers=16 master_info_repository=TABLE relay_log_info_repository=TABLE relay_log_recovery=ON
相关学习推荐:mysql教程(视频)
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
Undress AI Tool
Images de déshabillage gratuites
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.
Clothoff.io
Dissolvant de vêtements AI
Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !
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)
Sujets chauds
Comment implémenter la réplication maître-esclave de la base de données MySQL en PHP
May 17, 2023 am 08:18 AM
Avec le développement rapide d'Internet, les applications Web intègrent de plus en plus les opérations de bases de données. MySQL est un système de base de données relationnelle de renommée mondiale et largement utilisé. Dans les applications Web hautement concurrentes, la réplication maître-esclave MySQL est un moyen important d'améliorer les performances et la disponibilité des bases de données. Cet article explique comment utiliser PHP pour implémenter la réplication maître-esclave de la base de données MySQL. 1. Qu'est-ce que la réplication maître-esclave MySQL ? La réplication maître-esclave MySQL fait référence à la copie de données d'un serveur de base de données MySQL vers un autre serveur.
Création d'un cluster MySQL hautement disponible : guide des meilleures pratiques pour la réplication maître-esclave et l'équilibrage de charge
Sep 09, 2023 am 10:57 AM
Construire un cluster MySQL hautement disponible : guide des meilleures pratiques pour la réplication maître-esclave et l'équilibrage de charge Ces dernières années, avec le développement rapide d'Internet, la base de données est devenue l'un des principaux moteurs de stockage et de traitement de données pour la plupart des applications Web. Dans ce scénario, la haute disponibilité et l’équilibrage de charge sont devenus des considérations importantes dans la conception de l’architecture de base de données. En tant que l'une des bases de données relationnelles open source les plus populaires, la solution de déploiement de cluster de MySQL a attiré beaucoup d'attention. Cet article explique comment implémenter un cluster de bases de données hautement disponible via la réplication maître-esclave MySQL et l'équilibrage de charge.
Technologie de réplication maître-esclave de données dans MySQL
Jun 14, 2023 pm 02:10 PM
La base de données MySQL est un système de gestion de bases de données relationnelles très populaire qui prend en charge une variété de technologies de réplication de données, parmi lesquelles la plus couramment utilisée est la technologie de réplication maître-esclave. Cet article présentera la technologie de réplication de données maître-esclave dans MySQL, y compris les principes, les méthodes de mise en œuvre, les problèmes courants et les contre-mesures. 1. Principe de la technologie de réplication maître-esclave La technologie de réplication maître-esclave de MySQL peut copier les données d'une base de données MySQL sur d'autres serveurs pour réaliser la sauvegarde des données, l'équilibrage de charge, la séparation en lecture-écriture et d'autres fonctions. Son principe de base est de convertir la base de données principale
Explication détaillée de la fonction de réplication maître-esclave de Redis
May 11, 2023 am 10:00 AM
Redis est un système de stockage clé-valeur open source basé sur la mémoire qui est couramment utilisé dans des scénarios tels que la mise en cache, la mise en file d'attente et le traitement des données en temps réel. Dans les applications à grande échelle, afin d'améliorer la disponibilité et les performances de Redis, il est souvent nécessaire d'adopter une architecture distribuée, dans laquelle la réplication maître-esclave est un mécanisme couramment utilisé. Cet article présentera la fonction de réplication maître-esclave de Redis, y compris la définition, le principe, la configuration et les scénarios d'application. 1. La définition de la réplication maître-esclave Redis fait référence à la synchronisation automatique des données d'un nœud Redis (c'est-à-dire le nœud maître) vers d'autres nœuds (c'est-à-dire le nœud esclave).
Comment configurer la réplication maître-esclave de la base de données MySQL ?
Jul 13, 2023 pm 10:05 PM
Comment configurer la réplication maître-esclave de la base de données MySQL ? La réplication maître-esclave de la base de données MySQL est une solution courante de sauvegarde des données et de haute disponibilité. En configurant la réplication maître-esclave, vous pouvez synchroniser les données d'un serveur MySQL (serveur maître) à un autre (serveur esclave), améliorant ainsi la disponibilité et les performances de la base de données. Ce qui suit décrit comment configurer la réplication maître-esclave dans une base de données MySQL et fournit des exemples de code correspondants. Assurez-vous que le serveur MySQL est installé et démarré. Tout d'abord, assurez-vous que MySQL est installé sur votre système.
Réplication maître-esclave et architecture haute disponibilité dans MySQL
Sep 09, 2023 pm 12:03 PM
Réplication maître-esclave et architecture haute disponibilité dans MySQL À mesure que les applications Internet et les volumes de données continuent de croître, la haute disponibilité et l'évolutivité de la base de données deviennent de plus en plus importantes. En tant que base de données relationnelle open source largement utilisée, MySQL fournit des solutions de réplication maître-esclave et d'architecture haute disponibilité. La réplication maître-esclave fait référence au processus d'utilisation d'une instance de base de données MySQL comme base de données maître et de réplication de ses données vers une ou plusieurs bases de données esclaves (esclave). Cette méthode de réplication peut réaliser une sauvegarde redondante des données et une séparation de la lecture et de l'écriture.
Qu'est-ce que la réplication maître-esclave MySQL
Jun 27, 2022 pm 03:37 PM
Dans MySQL, la réplication maître-esclave signifie que les données peuvent être copiées d'un nœud maître du serveur de base de données MySQL vers un ou plusieurs nœuds esclaves. La réplication asynchrone est utilisée par défaut. Les avantages de l'utilisation de la réplication maître-esclave : 1. Laissez la base de données maître être responsable de l'écriture et la base de données esclave se charge de la lecture. Lorsque la base de données maître verrouille la table, le fonctionnement normal de l'entreprise peut être assuré en lisant à partir de l'esclave. base de données ; 2. Une sauvegarde à chaud des données peut être effectuée ; 3. L'extension de l'architecture peut réduire la fréquence d'accès aux E/S du disque et améliorer les performances d'E/S d'une seule machine.
Comment implémenter la réplication maître-esclave de la base de données Memcached en PHP
May 15, 2023 pm 06:40 PM
Memcached est un système de mise en cache d'objets à mémoire distribuée open source et hautes performances qui peut être utilisé pour accélérer les applications Web et fonctionne particulièrement bien dans la mise en cache de données à grande échelle. Pour ce système, la réplication maître-esclave est une fonction très importante, qui peut être utilisée pour garantir la fiabilité et la haute disponibilité des données. Cet article explique comment utiliser PHP pour implémenter la réplication maître-esclave de la base de données Memcached. Introduction au mode maître-esclave Le mode maître-esclave est une structure distribuée du serveur Memcached. Il est constitué d'au moins deux serveurs : un.


