时间: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读写分离
标签: