Maison >base de données >tutoriel mysql >Qu'est-ce que la séparation lecture-écriture Mysql ? Comment configurer la base de données maître-esclave ?
Le contenu de cet article porte sur ce qu'est la séparation lecture-écriture Mysql ? Comment configurer la base de données maître-esclave ? Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
Qu'est-ce que la séparation lecture-écriture ?
Mysql n'a rien de plus que quatre fonctions : ajouter, supprimer, modifier et lire. Cela aidera à améliorer les opérations. performances du système.
Essayez d'y réfléchir, emménager, retourner, modifier et vendre des marchandises a été modifié pour vendre uniquement des marchandises à la porte d'entrée, et d'autres vont à la porte arrière Souvent, les choses qui semblent haut de gamme sont assez simples à réaliser
MySQL avec le. même configuration sur les deux serveurs, comme mysql5.7
PS : Si les conditions sont limitées, un seul peut être utilisé Il suffit d'installer deux services mysql (ports différents comme 3306, 3307), mais c'est un peu contraire. à l'intention initiale d'efficacité
1. Généralement direct Au niveau de la couche de code, la lecture et l'écriture des classes d'opération mysql telles que update, insert et select * from sont acheminées et séparées vers correspondent à différents serveurs.
2. Agent middleware, c'est-à-dire que sans changer le code, le middleware enverra des demandes de lecture et d'écriture au serveur maître-esclave.
2. Le le port est ouvert, configurez maintenant deux serveurs (la même chose est vraie pour un hôte et deux serveurs Mysql) :
#1.Mysql配置改以下并重启服务(命令行里直接重启:service mysql restart) [mysqld] server-id=1 log-bin=master-bin log-bin-index=master-bin.index #2.命令行mysql执行或phpmyadmin里执行: GRANT REPLICATION SLAVE ON *.* TO 'spec'@'192.168.0.2' IDENTIFIED BY 'spec_password'; flush privileges;De cette façon, le serveur principal est complété .Configuration à partir de le serveur :
#1.Mysql配置改以下并重启服务(命令行里直接重启:service mysql restart) [mysqld] server-id=2 relay-log-index=slave-bin.index relay-log=slave-bin #2.命令行mysql执行或phpmyadmin里执行: change master to master_host='192.168.0.1',master_port=3306,master_user='spec',master_password='spec_password',master_log_file='master-bin.000001',master_log_pos=0; start slaveDe manière générale, la configuration est terminée ici.3. Test :À partir de l'instruction de requête du serveur : afficher le statut de l'esclave
Si Slave_IO_State=En attente que le maître envoie l'événement, cela réussira.
Le reste de l'état est généralement dû aux raisons suivantes :
2. Échec du ping entre le maître et l'esclave.
3. Le mot de passe du compte spécifié ci-dessus est erroné
2. La bande passante du serveur esclave doit être >= celle du serveur maître, afin de réduire au maximum le délai de synchronisation. S'il s'agit d'une petite conduite d'eau, la synchronisation sera naturellement un peu plus lente.
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!