MySQL5.7 读写分离Amoeba配置

一、实验环境

  • 实验环境:VMware Workstation 15.5、X Shell6、Centos7.6(4台,1台做主,2台做从,1台做amoeba监控服务器)
主服务器(master)192.168.50.133
从服务器1(slave1)192.168.50.134
从服务器2(slave2)192.168.50.135
amoeba服务器(amoeba)192.168.50.136
  • 软件版本:MySQL5.7、amoeba-mysql-binary-2.2.0.tar.gz、jdk-6u14-linux-x64.bin

  • 本实验所需软件amoeba下载地址:https://wwa.lanzous.com/iPbAyg5vy0b

二、实验步骤

首先,在三台服务器上编译安装mysql服务,然后再进行如下步骤

关闭系统防火墙及核心防护功能

systemctl stop firewalld
setenforce 0

1、配置主从复制,编辑并修改master上的配置文件:

vim /etc/my.cnf     ## 编辑配置文件

在 [mysqld]下如下内容:
log-bin=master-bin
log-slave-updates=true

2、重启mysql服务

systemctl restart mysqld

3、授权从服务器进行同步

grant replication slave on *.* to 'myslave'@'192.168.50.%' identified by '123456';

flush privileges;    ## 刷新权限立即生效

4、查看主服务器状态

show master status;

mysql> show master status;
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000001 |      603 |              |                  |                   |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

5、现在开始分别在从服务器(slave1)与slave2进行如下配置

vim /etc/my.cnf     ## 编辑配置文件

在 [mysqld]下如下内容:
server-id=2     ## 不能重复(可以将主设置为1,slave1设置为2,slave2设置为3)
relay-log=relay-log-bin
relay-log-index=slave-relay-bin.index

6、重启mysql服务

systemctl restart mysqld

7、找主服务器进行同步

change master to master_host='192.168.50.133', master_user='myslave', master_password='123456', master_log_file='master-bin.000001', master_log_pos=603;

8、开启从服务器

start slave;

9、查看两台从服务器状态

show slave status\G;

显示两个yes即可:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

10、下面进行amoeba服务器配置,将jdk库复制到/usr/local中并进行安装

cp jdk-6u14-linux-x64.bin /usr/local/    ## 将jdk库复制到/usr/local中
cd /usr/local/                           ## 进入目录
chmod +x jdk-6u14-linux-x64.bin          ## 将文件赋予执行权限
./jdk-6u14-linux-x64.bin                 ## 执行安装jdk库(一直按空格翻页,到最后会问你是否安装,输入yes回车即可

11、重命名jdk库目录名

mv jdk1.6.0_14/ jdk1.6

12、添加到系统环境变量

vi /etc/profile      ## 编辑环境变量文件

添加以下内容:
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     ## 重新加载配置文件

13、建立amoeba的家目录(工作目录)

mkdir /usr/local/amoeba

14、进入opt目录,解压缩amoeba主程序

cd /opt
tar zxvf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/

15、赋予目录权限

chmod -R 755 /usr/local/amoeba/

16、执行测试命令查看是否安装成功amoeba

/usr/local/amoeba/bin/amoeba
显示 amoeba start|stop 说明安装成功

17、分别在主服务器和两台从服务器上执行以下命令来授权amboba进行访问

grant all on *.* to test@'192.168.50.%' identified by '123.com';
flush privileges;

18、编辑amoeba配置文件(amoeba.xml)

vim /usr/local/amoeba/conf/amoeba.xml

修改第30、32行(客户端访问amoeba时的用户):
 30 <property name="user">amoeba</property>    ## 将root替换为amoeba
 32 <property name="password">123456</property>   ## 密码Wie123456
 
 修改将117、120行,将注释符去掉,并修改115、118、119行:
 

19、编辑修改amoeba配置文件(dbServers.xml)

vim /usr/local/amoeba/conf/dbServers.xml

 23   <property name="schema">mysql</property>
 26   <property name="user">test</property>           ## 设置用户名(mysql授权amoeba访问时的用户密码)
 29   <property name="password">123.com</property>    ## 设置密码
 删去掉28、30行的注释符号

20、配置主、从服务器节点地址

修改以下行内容:

45         <dbServer name="master"  parent="abstractServer">
48                         <property name="ipAddress">192.168.50.133</property>
 
52         <dbServer name="slave1"  parent="abstractServer">
55                         <property name="ipAddress">192.168.50.134</property>

59         <dbServer name="slave2"  parent="abstractServer">
62                         <property name="ipAddress">192.168.50.135</property>

PS:59与62行本身不存在,需要复制前面的节点信息作为模板
    只需要修改server name与IP即可

21、配置完节点详细信息,最后配置从服务器概要信息

66       <dbServer name="slaves" virtual="true">               ## 池子名为slaves
72       <property name="poolNames">slave1,slave2</property>    ## slave1,slave2(根据实际需要可以继续添加节点)

21、重新开一台虚拟机模拟客户端访问amoeba,输入以下命令进行远程访问

mysql -uamoeba -p123456 -h 192.168.50.136 -P8066

使用命令查看数据库:show databases;
如果数据库能正常显示则说明搭建成功

22、搭建成功后可以进行一些相关测试工作

三、注意事项及故障处理

1、本实验是针对MySQL5.7版本,如果是5.5、5.6版本则需要注意以下内容:

在编辑配置文件dbServers.xml时,第23行

23   <property name="schema">mysql</property>

property name默认为test,不需要修改,因为数据库中本身就有test这个测试数据库存在,而在MySQL5.7中取消了测试数据库test,所以必须要修改这一项

2、实验开始前请务必关闭防火墙,否则会导致实验不成功

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值