当前位置:Gxlcms > 数据库问题 > amoeba安装与实现amoeba for mysql读写分离

amoeba安装与实现amoeba for mysql读写分离

时间:2021-07-01 10:21:17 帮助过:4人阅读

技术分享

3.3  配置log4j.xml文件

3.3.1  在可用性测试已经完成的情况下, 建议将log4j.xml 中关于日志输出level为info的全部设置成warn或者error级别. 日志是非常消耗系统性能的, 在没有必要的情况下可以不使用debug.

本人暂时还是测试环境,所以未修改此项配置

技术分享

技术分享

3.4  开启防火墙amoeba设置的端口,本人amoeba服务器没有安装mysql,因此自定义的amoeba是3306端口,开启如下

[root@amoeba1 ~]# vi /etc/sysconfig/iptables

编辑文件,在

-A INPUT -j REJECT --reject-with icmp-host-prohibited之前

加入

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

技术分享

重启防火墙服务

[root@amoeba1 ~]# service iptables restart

技术分享

四:读写分离测试

4.1  测试思路:因为两个是在两个主从数据库上实现读写分离,向主数据库写入操作,从数据库通过数据库复制同步主数据库内容,读取时读取从数据库数据,因此,我在主从数据库上建立同样的表,然后断开从数据库的复制,在主从数据库分别插入不同数据,再连接amoeba服务器,写入第三条语句,此时主数据库有1,3两条数据,从数据库只有2一条数据,证明写入是master数据库,读取是slave数据库。

4.1.1  开启amoeba

[root@amoeba1 ~]# /usr/local/amoeba/bin/amoeba start

技术分享

4.1.2  在主从数据库复制成功的前提下,在主数据库创建一张测试表,从数据库自动复制此操作

#主数据库,进入mysql

[root@mysql1 ~]# /usr/local/mysql/bin/mysql -u root -p123456

mysql> use zf_db;

mysql> create table test_amoeba(id int); 

mysql> select * from test_amoeba;

技术分享

4.1.3  从数据库查看是否成功创建test_amoeba测试表

#从数据库

[root@mysql2 ~]# /usr/local/mysql/bin/mysql -u root -p123456

mysql> use zf_db;

mysql> select * from test_amoeba;

技术分享

证明:主从复制成功

4.1.4  从数据库断开主从数据库复制

#从数据库

mysql> stop slave;

4.1.5  主数据库插入一条语句,数值1

#主数据库

mysql> INSERT INTO test_amoeba VALUES (1);

mysql> SELECT * FROM test_amoeba;

技术分享

4.1.6  从数据库查看test_amoeba数据,因为已经断开复制,所以此时从数据库应该是没有值的

#从数据库

mysql> select * from test_amoeba;

技术分享

4.1.7  从数据库在test_amoeba表中插入数值2

#从数据库

mysql> INSERT INTO test_amoeba VALUES (2);

mysql> select * from test_amoeba;

技术分享

4.1.8  查询主数据库test_amoeba数据情况

#主数据库

mysql> select * from test_amoeba;

技术分享

4.1.9 查询从数据test_amoeba数据情况

#从数据库

mysql> select * from test_amoeba;

技术分享

注:此时主从数据库的数据是不一致的,以便我们证明amoeba的读写分离

4.1.10  使用mysql可视化软件连接amoeba服务器

技术分享

连接测试

技术分享

注:如果没有成功,请注意amoeba服务器的iptables是否开启amoeba的端口

4.1.11  查看amoeba数据库显示内容

技术分享

4.1.12  在amoeba服务器,向test_amoeba表写入数据

#amoeba服务器

技术分享

4.1.13  查询主数据test_amoeba数据

#主数据库

mysql> select * from test_amoeba;

技术分享

证明:通过amoeba服务器,我们写入数据进入到主数据库test_amoeba表中

4.1.14  查询从数据库test_amoeba数据

#从数据库

mysql> select * from test_amoeba;

技术分享

证明:在未开启主从数据库复制的情况下,向amoeba服务器写入数据时,从数据库未写入数据

4.1.15  连接amoeba服务器,查询test_amoeba数据

技术分享

只能看到id为2的一条数据

证明:我们连接amoeba服务器时,读的数据是slave服务器的数据,因此,我们主从数据库的读写分离成功!

 

amoeba安装与实现amoeba for mysql读写分离

标签:

人气教程排行