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.
主机名 | IP地址 | 节点 |
liuyazhuang152 | 192.168.0.152 | amoeba |
liuyazhuang153 | 192.168.0.153 | 写库 |
liuyazhuang154 | 192.168.0.154 | 读库 |
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
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"
forge.net/projects/amoeba/ pour télécharger Amoeba. amoeba-mysql-binary-2.2 .0.tar.gz
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.
fichier de configuration suivant dans le répertoire conf d'Amoeba :
Ici, nous nous concentrons sur les fichiers amoeba.3.1 Configurer amoeba.xml<. 🎜>
Supprimez le
commentaire
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
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
grant all on lyz.* to lyz@192.168.0.152 identified by 'lyz';
5. Exécutez Amoeba
./amoeba start &
.
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 &
启动成功
我们先分别查询MySQL数据库表上的相关数据,未通过Amoeba操作数据库的时候,我们是新建的数据库lyz和表t1,此时192.168.0.153和192.168.0.154上MySQL数据表都应该为空,如下图:
我们在192.168.0.152上输入如下命令登录Amoeba,通过Amoeba访问数据库
mysql -h192.168.0.152 -uroot -proot -P 8066
注意:我们这里输入的端口是8066,此端口是Amoeba配置的端口,我们需要登录Amoeba而不是直接登录MySQL
登录成功如下图所示:
此时我们在终端查询数据表数据,显示为空,如下图:
我们在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 & 启动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!