一、实验拓扑图
二、实验要求
(1)在主服务器搭建时间同步服务器。从服务器进行时间同步。mysql安装过程略。
(2)配置主从复制
(3)搭建amoeba实现mysql读写分离
步骤:
1、根据拓扑图部署六台服务器并配置Ip,并关闭防火墙,其中1.101,1.102,1.103安装并配置mysql服务,(MySQL的安装配置请关注微信公众号 L宝宝聊IT 回复 mysql )
2、在主服务器搭建时间同步服务器。从服务器进行时间同步。
(1)在主服务器上安装配置ntp
(2)重启ntpd服务
(3)在两台从服务器上进行时间同步,具体步骤如下图
3、配置主从复制
主服务器的配置1.101
(1)在主服务器1.101上修改配置文件/etc/my.cnf并重启服务。
(2)在1.101登录mysql,给从服务器以授权。
从服务器的配置1.102,1.103
(4)配置从服务器1.102,进入/etc/my.cnf修改添加一下内容。
重启服务
(5)登录MySQL,配置同步
(6)从服务器1.103和1.102的配置一样,只是/etc/my.cnf里的server-id不同改为33.
(7)验证主从复制,在主服务器上新建数据库,然后在从服务器上分别查看数据库是否存在。
4、在1.110主机上搭建amoeba实现mysql读写分离
(1)在主机amoeba上安装java环境。
以上java环境就配置成功了
(2)安装并配置Amoeba软件
(3)分别在主、从三台服务器上开放权限给Amoeba访问
(4)编辑amoeba.xml配置文件
(5)编辑dbServers.xml配置文件
(6)启动Amoeba软件,查看默认端口tcp 8066
5、在客户机上测试读写分离
(1)通过代理访问mysql
(2)在db_test数据库上创建一个表,同步到各服务器上
(3) 然后分别关掉两台从服务器的slave功能。
Stop slave;
(4)在主服务器上向新创建的表中插入数据。
(5)分别在从服务器上也插入不同的数据。
(6)在客户端三次的查询结果如下
(7)在客户机上插入一条语句
(8)最后只能在主服务器上可以查看到。
由此验证,已经实现了mysql读写分离,目前所有的写操作都全部在Master主服务器上,所有的读操作都分摊给了slave从服务器,用来分担数据库压力。