Maison >base de données >tutoriel mysql >MySQL - Explication détaillée de la séparation en lecture et en écriture basée sur Amoeba (image et texte)

MySQL - Explication détaillée de la séparation en lecture et en écriture basée sur Amoeba (image et texte)

黄舟
黄舟original
2017-03-14 16:44:501621parcourir

Aujourd'hui, nous continuons le sujet de MySQL, et aujourd'hui nous vous apportons un article sur une solution pour réaliser la séparation lecture-écriture MySQL basée sur Amoeba, passons donc directement au sujet d'aujourd'hui.

1. Planification du serveur

主机名 IP地址 节点
liuyazhuang152 192.168.0.152 amoeba
liuyazhuang153 192.168.0.153 写库
liuyazhuang154 192.168.0.154 读库

2. Plan de test

Nous avons installé Amoeba sur 192.168.0.152 et installé MySQL sur 192.168.0.153 et 192.168.0.154. Il n'y a pas d'intersection entre ces deux serveurs MySQL. sur 0.153 est configuré comme une base de données d'écriture et MySQL sur 192.168.0.154 est configuré comme une base de données de lecture ; notre client se connecte à l'amibe, et l'amibe exploite la base de données correspondante via l'amibe et interrogeons via .  : Le serveur MySQL 192.168.0.153 a inséré les données pertinentes, mais pas le serveur MySQL sur 192.168.0.154 ; nous pensons donc qu'amibe a aidé notre programme à compléter la fonction de séparation lecture-écriture

; 3. Installez MySQL

Veuillez vous référer au billet de blog "MySQL-CentOS6.5 Introduction détaillée du code pour compiler et installer MySQL5.6.16"

4. Installer et configurer Amoeba

1, téléchargez Amoeba


Nous pouvons aller sur https://source

forge.net/projects/amoeba/ pour télécharger Amoeba. amoeba-mysql-binary-2.2 .0.tar.gz

2. Installer Amoeba

Amoeba est écrit en Java, notre serveur doit donc être configuré avec un environnement d'exécution Java. . Je ne parlerai pas ici de la configuration de Java. L'environnement d'exécution est prêt

Comme il n'y a pas de fichiers directement après la décompression d'Amoeba, nous devons créer un dossier à l'avance. Ici, je crée un dossier sous /. usr/local : amoeba-mysql-binary-2.2.0

Ensuite, entrez la commande suivante sur la ligne de commande

tar -zxvf amoeba-mysql-binary-2.2.0.tar.gz  -C /usr/local/amoeba-mysql-binary-2.2.0

Extraire Amoeba vers /usr/local/amoeba -mysql-binary-2.2.0 À ce stade, nous avons terminé l'installation.

3. Configurer Amoeba

Nous pouvons voir le

fichier de configuration suivant dans le répertoire conf d'Amoeba :

Ici, nous nous concentrons sur les fichiers amoeba.

xml et dbServers.xml.

3.1 Configurer amoeba.xml


Nous ouvrons le fichier amoeba.xml et trouvons le code suivant :


us Configurez le nom d'utilisateur et le mot de passe, dont 8066 est le port par défaut d'Amoeba L'effet configuré est le suivant :

Trouvez le code suivant :

<.>

Supprimez le

commentaire

, l'effet est le suivant :


Voici comment l'amibe Le fichier est configuré. Après l'avoir configuré, nous accédons. Lors de l'utilisation de MySQL, vous devez accéder au port, au nom d'utilisateur et au mot de passe configurés dans le fichier amoeba.xml pour vous connecter à MySQL via Amoeba.

3.2 Configurer dbServers.xml


Recherchez le code suivant dans le fichier dbServers.xml :

Nous sommes liés ici Pour la configuration de la base de données, veuillez noter : La configuration de ces bases de données précise la base de données, le nom d'utilisateur et le mot de passe à séparer de la lecture et de l'écriture. Le nom d'utilisateur et le mot de passe sont les noms d'utilisateur et mots de passe configurés pour accéder à Amoeba sur le terminal. . L'effet après ma modification est le suivant :

Le nom d'utilisateur et le mot de passe à ce moment doivent être autorisés par le serveur MySQL au serveur Amoeba afin qu'il puisse se connecter à le serveur MySQL.


Ensuite on retrouve le code suivant :


Modifiez-le aux adresses IP des deux serveurs MySQL, comme indiqué ci-dessous :


À ce stade, nous avons configuré la séparation en lecture et en écriture basée sur Amoeba.

4. Autorisez l'accès à Amoeba dans MySQL

Connectez-vous respectivement à deux serveurs MySQL et exécutez les commandes suivantes pour autoriser Amoeba

Le nom d'utilisateur et le mot de passe ici sont les nom d'utilisateur et mot de passe que nous avons configurés dans le fichier dbServers.xml. À ce stade, l'autorisation MySQL est terminée
 grant all on lyz.* to lyz@192.168.0.152 identified by &#39;lyz&#39;;



5. Exécutez Amoeba


Nous entrons dans le répertoire bin d'Amoeba et saisissons la commande suivante sur la ligne de commande pour exécuter Amoeba

Parmi eux, & représente l'exécution en arrière-plan, à ce moment-là, nous avons constaté que le démarrage a échoué : les informations sont les suivantes :
./amoeba start &amp;

.
Cela signifie que la pile Java configurée est trop petite, au moins 228 Ko. À ce moment, nous ouvrons le fichier script amibe dans le répertoire bin et trouvons le code suivant :

.

Changez le 128K dans l'image ci-dessus en 256K (vous pouvez suivre Modifier en fonction de votre situation réelle), comme indiqué ci-dessous :


此时我们重新输入命令

./amoeba start &amp;


启动成功

6、测试

6.1 查询数据

我们先分别查询MySQL数据库表上的相关数据,未通过Amoeba操作数据库的时候,我们是新建的数据库lyz和表t1,此时192.168.0.153和192.168.0.154上MySQL数据表都应该为空,如下图:


6.2登录Amoeba

我们在192.168.0.152上输入如下命令登录Amoeba,通过Amoeba访问数据库

mysql -h192.168.0.152 -uroot -proot -P 8066

注意:我们这里输入的端口是8066,此端口是Amoeba配置的端口,我们需要登录Amoeba而不是直接登录MySQL

登录成功如下图所示:

6.3测试

  此时我们在终端查询数据表数据,显示为空,如下图:


我们在Amoeba服务器终端插入一条数据,如下:


同时,我们在Amoeba上查询数据如下:


数据为空。

我们登录192.168.0.153数据库,查看表数据如下:


如图,说明Amoeba向192.168.0.153库插入了数据。

我们在登录192.168.0.154数据库查看数据信息,如下:

说明Amoeba没有向192.168.0.154库插入数据,并从192.168.0.154库读取数据。

至此,基于Amoeba实现MySQL读写分离全部配置完成。

五、附录

./amoeba start &amp; 启动amoeba
./amoeba stop  关闭amoeba

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn