mysql读写分离 |
您所在的位置:网站首页 › 凌菲江放《借风拥你》 › mysql读写分离 |
环境介绍: amoeba服务器: 192.168.3.99 master mysql 服务器: 192.168.3.100 slave1 mysql 服务器: 192.168.3.101 slave2 mysql 服务器: 192.168.3.102 客户端: 192.168.3.150
在192.168.3.99(amoeba)配置 chmod +x jdk-6u14-linux-x64.bin ./jdk-6u14-linux-x64.bin mv jdk1.6.0_14 /usr/local/jdk1.6 vim /etc/profile.d/jdk.sh #!/bin/bash export JAVA_HOME=/usr/local/jdk1.6 export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin export AMOEBA_HOME=/usr/local/amoeba export PATH=$PATH:$AMOEBA_HOME/bin source /etc/profile.d/jdk.sh
mkdir /usr/local/amoeba tar xf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/ chmod -R 755 /usr/local/amoeba/
查看启动脚本 [root@localhost profile.d]# /usr/local/amoeba/bin/amoeba amoeba start|stop
配置读amoeba写分离 分别在3台数据库上(3.100 3.101 3.102)授权用户,使amoeba能够访问3台数据库 grant all on *.* to 'test'@'192.168.3.%' identified by '123.com'; flush privileges;
1.修改amoeba.xml,设置登陆amoeba的帐号密码。 cd /usr/local/amoeba/conf vim amoeba.xml #修改30 32行 amoeba 123456
114 1500 115 master 118 master 119 slaves 注意:删除注释 3. 修改dbServers.xml,设置数据库、登陆MySQL的帐号和密码。 vim /usr/local/amoeba/conf/dbServers.xml 修改以下红色部分。注意启用29行的密码 25 26 test 27 28 29 123.com
44 45 46 47 192.168.3.100 48 49 44-49行原文没有配置,此为我们手动添加的配置 50 51 52 53 54 192.168.3.101 55 56 57 58 59 60 61 192.168.3.102 62 63 65 71 slave1,slave2 注意71的配置必须用逗号隔开。用句号会报错
4.启动amoeba 如图为启动成功 端口已经正常启动
5.测试 在客户端上连接amoeba mysql -uamoeba -p123456 -h 192.168.3.99 -P8066 首先我们测试mysql的读的负载均衡功能。 关闭所有的mysql的防火墙 service iptables stop
我们在master上创建一个数据库,然后自动同步到从服务器上。然后在关闭从服务器的slaves功能。在插入区别语句 (1)在master mysql(3.100)上创建数据库。并且创建表 mysql> create database db_test; Query OK, 1 row affected (0.00 sec) mysql> use db_test; Database changed mysql> create table benet (id int(10),name varchar(10),address varchar(20)); Query OK, 0 rows affected (0.07 sec) (2) 停掉两台从服务(3.101 3.102) slave stop; (3)然后在master (3.100)上插入内容。 insert into benet values ('1','zhang','this_is_master'); (4)我们手动向两台从(3.101 3.102)服务器的benet表中插入内容 192.168。3.101 操作以下命令 use db_test; insert into benet values ('2','zhang','this_is_master'); 192.168.3.102 操作以下命令 use db_test; insert into benet values ('3','zhang','this_is_master');
通过在客户端上查询,为两台从服务器的轮询效果 (5)测试写操作 在客户端上(3.150)插入一条数据 use db_test; insert into benet values ('4','zhang','this_is_master');
但是在客户端查询不到,但是在master上查询到新数据,说明我们已经将数据写入到了master(3.100)上
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |