构建读写分离数据库集群

构建读写分离数据库集群


数据库集群的安装

提示:这里用到我们之前搭建的主从数据库,
主从数据库部署:https://blog.csdn.net/Planetoid_A/article/details/108947511
这两个主从数据库节点主要作为数据库集群服务节点,我们这里需要重新搭建搭建一个主节点(将用户提交的读写操作分给相应的数据库节点)


一、节点规划

提示:我们所需要的节点规划如下

节点名称 ip
mycat 192.168.128.39
mysql0 192.168.129.40
mysql1 192.168.128.41

首先我们关闭三个节点的防火墙

[root@mycat /]# iptables -F [root@mycat /]# iptables -X [root@mycat /]# iptables -Z

我们需要添加ip地址和主机名到三个节点的配置文件中

[root@mysql1 ~]# cat /etc/hosts
构建读写分离数据库集群_第1张图片
注意:三个节点都要添加

二、主节点的构建

首先,新建虚拟机,我们默认是使用CentOS-7-x86_64-DVD-1511的镜像
镜像地址:
链接:https://pan.baidu.com/s/1Myl_GXnUg7t3OR01mCuMrQ
提取码:1511

1.配置YUM

①配置ip,设置主机名
②配置yum源,这里的yum源我们用的是两个,一个是1511的本地yum源,一个是gpmall-repo本地软件包
软件包地址:
链接:https://pan.baidu.com/s/1TLj0Qg7vYah81axVBqpsJw
提取码:repo
③修改yum源配置文件,文件内容如下

[c7-Media]
name=CentOS-$releasever - Media
baseurl=file:///xiaobai/gpmall-repo   #软件包yum源地址
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[centos]
name=CentOS
baseurl=file:///opt/centos            #本地yum源地址
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

2.安装JDK环境

①安装依赖
[root@mycat /]# yum install libjpeg* -y
②安装jdk
[root@mycat /]# yum install java-1.8.O-openjdk java-1.8.0-openjdk-devel
③查看版本,证明安装成功
[root@mycat /]# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

3.mycat安装包和环境变量

首先将这个mycat安装包解压到usr下面的local目录,我在这里使用的是Mycat-server-1.6的软件包
软件包地址:
链接:https://pan.baidu.com/s/14I1UmJ1uV3nIU8YCZeXY4Q
提取码:mcat

#解压安装包
[root@mycat ~]# tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local
#修改这个文件夹权限
[root@mycat ~]# chown -R 777 /usr/local/mycat/
#添加环境变量
[root@mycat ~]# echo export MYCAT_HOME=/usr/local/mycat/ >> /etc/profile
#生效配置
[root@mycat ~]# source /etc/profile

4.修改配置文件

#修改配置文件(注意语法,可以把原来的删除,输入如下内容)
[root@mycat ~]# cat /usr/local/mycat/conf/schema.xml 
<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://io.mycat/">

<schema name="USERDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1"></schema>

<dataNode name="dn1" dataHost="localhost1" database="test" /> 

<dataHost name="localhost1" maxCon="1000" minCon="10" balance="3" dbType="mysql" dbDriver="native" writeType="0" switchType="1"  slaveThreshold="100"> 

    <heartbeat>select user()</heartbeat>

    <writeHost host="hostM1" url="192.168.128.40:3306" user="root" password="SICT">

        <readHost host="hostS1" url="192.168.128.41:3306" user="root" password="SICT" />

    </writeHost>

</dataHost>

</mycat:schema>

构建读写分离数据库集群_第2张图片

#修改配置文件的用户权限
[root@mycat ~]# chown root:root /usr/local/mycat/conf/schema.xml 
#编辑mycat的访问用户
[root@mycat ~]# vi /usr/local/mycat/conf/server.xml

#注意,这里直接修改最后删除如下部分内容,下面这几行直接删除
构建读写分离数据库集群_第3张图片
这个配文件上面的都没修改,修改的地方如下图所示 ,修改了文件的最后这一点内容,SICT为数据库密码,修改成自己的,USEDB是逻辑数据库
构建读写分离数据库集群_第4张图片

三、启动mycat并查看端口

#启动mycat

[root@mycat ~]# /bin/bash /usr/local/mycat/bin/mycat start

#安装工具包

[root@mycat ~]# yum -y install net-tools

#查看端口,存在8066和9066说明配置成功

[root@mycat ~]# netstat -ntpl

构建读写分离数据库集群_第5张图片

你可能感兴趣的:(1+x认证,Linux,数据库,mysql)