1+X中级B卷:读写分离数据库管理
目录
题目
使用提供的虚拟机与软件包,基于上一题构建的主从数据库,进一步完成Mycat读写分离数据库的配置安装。需要用的配置文件schema.xml文件如下所示(server.xml文件不再给出): select user() 配置读写分离数据库完毕后,使用netstat -ntpl命令查询端口启动情况。最后将netstat -ntpl命令的返回结果以文本形式提交到答题框。
数据库集群的安装
提示:这里用到我们之前搭建的主从数据库, 主从数据库部署:[1](https://blog.csdn.net/Planetoid_A/article/details/108947511) 这两个主从数据库节点主要作为数据库集群服务节点,我们这里需要重新搭建搭建一个主节点(将用户提交的读写操作分给相应的数据库节点)
节点规划
提示:我们所需要的节点规划如下
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
主节点的构建
首先,新建虚拟机,我们默认是使用CentOS-7-x86_64-DVD-1511的镜像 镜像地址: 链接:[2](https://pan.baidu.com/s/1Myl_GXnUg7t3OR01mCuMrQ)
提取码:1511
配置YUM
①配置ip,设置主机名
②配置yum源,这里的yum源我们用的是两个,一个是1511的本地yum源,一个是gpmall-repo本地软件包
软件包地址: 链接:[3](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
安装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)
配置mycat节点
①将软件包解压到usr目录下的local文件夹下
[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
⑤修改配置文件,内容如下
[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"> ##IP需要修改成实际的IP地址 <readHost host="hostS1" url="192.168.128.41:3306" user="root" password="SICT" /> </writeHost> </dataHost> </mycat:schema>
⑥赋予文件的用户权限
[root@mycat ~]# chown root:root /usr/local/mycat/conf/schema.xml
⑦编辑mycat访问用户
在文件最后
<user name="root"> <property name="password">SICT</property> #这是数据库密码 <property name="schemas">USERDB</property> #这是逻辑库
启动mycat服务
[root@mycat ~]# /bin/bash /usr/local/mycat/bin/mycat start
安装工具包
[root@mycat ~]# yum -y install net-tools
查看端口
[root@mycat ~]# netstat -ntpl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1474/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2098/master tcp 0 0 127.0.0.1:32000 0.0.0.0:* LISTEN 26156/java tcp6 0 0 :::9066 :::* LISTEN 26156/java tcp6 0 0 :::59532 :::* LISTEN 26156/java tcp6 0 0 :::56496 :::* LISTEN 26156/java tcp6 0 0 :::22 :::* LISTEN 1474/sshd tcp6 0 0 ::1:25 :::* LISTEN 2098/master tcp6 0 0 :::1984 :::* LISTEN 26156/java tcp6 0 0 :::8066 :::* LISTEN 26156/java