项目练习:构建读写分离的数据库集群

目录

一、目标实现

二、项目准备

三、项目实施

1.配置基础环境

1.1修改主机名

1.2配置3台群集虚拟机的/etc/hosts文件

1.3.配置网卡

1.4.配置本地yum源

2.部署Mycat中间件服务

2.1安装KDJ环境

3.部署MariaDB主从数据库集群服务

3.1安装MariaDB服务

3.2初始化MariaDB数据库

3.3配置数据库集群主节点

3.4开放主节点的数据库权限

3.5从节点同步主节点

3.6验证主从数据库同步功能

4部署Mycat读写分离中间件服务

4.1安装Mycat服务

4.2编辑Mycat逻辑库配置文件

4.3编辑mycat的访问用户

5验证集群服务读写分离

5.1Mycat服务查询数据库信息

5.2Mycat添加表数据

5.3验证Mycat服务对数据库读写操作分离

四、知识集锦

1.读写分离

1.1什么是读写分离?

1.2为什么要用到读写分离?

1.3读写分离有哪些应用场景?

1.4如何实现读写分离?

2.MySQL基础

1.连接与退出mysql

 2.数据库(database)

 3.表(table)

4.插入表数据(insert into)

5.查询数据(select)

五、参考来源

六、感谢您的阅读,若有不足之处,还请指出,感激不尽! 


一、目标实现

  1. 了解mycat提供的读写分离功能
  2. 了解mysql数据库的主从架构
  3. 构建以mycat为中间件的读写分离数据库群集

二、项目准备

  • 软件:

        VMware Workstation 15.5 Pro

        MobaXterm_Personal_22.0

  • 软件包:

        Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

  • 物理配置:

        CentOS7/2vCPU/4G内存/50G硬盘

  • 节点规划:

IP

主机名

节点

172.16.51.6

mycat

Mycat中间件服务节点

172.16.51.18

db1

MariaDB数据库集群主节点

172.16.51.30

db2

MariaDB数据库集群从节点


三、项目实施

1.配置基础环境

1.1修改主机名

mycat:

[root@localhost ~]# hostnamectl set-hostname mycat        #修改主机名为mycat 
[root@localhost ~]# bash         #刷新 
[root@mycat ~]# 

db1: 

[root@localhost ~]# hostnamectl set-hostname db1         #修改主机名为db1
[root@localhost ~]# bash         #刷新 
[root@db1 ~]# 

db2:

[root@localhost ~]# hostnamectl set-hostname db2         #修改主机名为db2 
[root@localhost ~]# bash         #刷新 
[root@db2 ~]#

1.2配置3台群集虚拟机的/etc/hosts文件

mycat、db1、db2:

[root@mycat/@db1/@db2 ~]# vi /etc/hosts 
{ 
#ip地址      主机名/域名(主机别名) 
127.0.0.1     localhost localhost.localdomain localhost4 localhost4.localdomain4 
::1           localhost localhost.localdomain localhost6 localhost6.localdomain6 
172.16.51.6   mycat 
172.16.51.18  db1 
172.16.51.30  db2 
}

补充知识:hosts文件是linux系统中负责ip地址与域名快速解析的文件,它包含了ip地址和主机名之间的映射,以ASCII格式保存在/etc目录下。在没有域名服务器的情况下,它可以充当dns服务器角色(dns缓存>hosts>dns服务)

1.3.配置网卡

单独配置:

mycat:

[root@mycat ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
{
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=eabcfae9-7b72-41db-8f65-d6e51132239e
DEVICE=ens33
ONBOOT=yes
IPADDR=172.16.51.6        #IP地址
PREFIX=24        #子网掩码
GATEWAY=172.16.51.254        #网关    
DNS1=8.8.8.8        #首选DNS        
}

db1:

[root@db1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
{
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=2268a449-8cb3-450e-a990-4562256fbec9
DEVICE=ens33
ONBOOT=yes
IPADDR=172.16.51.18
PREFIX=24
GATEWAY=172.16.51.254
DNS1=8.8.8.8
}

db2:

[root@db2 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
{
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=23a65a6d-6a6f-4399-b68a-b0807913f4df
DEVICE=ens33
ONBOOT=yes
IPADDR=172.16.51.30
PREFIX=24
GATEWAY=172.16.51.254
DNS1=8.8.8.8
}

 综合配置

1.4.配置本地yum源

[root@mycat/@db1/@db2 ~]#  mv /etc/yum.repos.d/* /media/        #移动yun源原配置至文件/media/下
[root@mycat/@db1/@db2 ~]#  mkdir /opt/gpmall-repo        #创建挂载点
[root@mycat/@db1/@db2 ~]#  mount /dev/cdrom /opt/gpmall-repo        #挂载
(mount: no medium found on /dev/sr0        #错误提示:没有找到光驱介质,将光盘映像重新连接即可)
[root@mycat/@db1/@db2 ~]#  mount /dev/cdrom /opt/gpmall-repo        #解决问题后重新挂载
(mount: /dev/sr0 is write-protected, mounting read-only        #挂载成功)
[root@mycat/@db1/@db2 ~]#  vi /etc/yum.repos.d/local.repo        #vi新建并编辑一个repo源文件
{
[mariadb]        #yum源名称
name=mariadb        #yum源描述
baseurl=file:///opt/gpmall-repo        #yum镜像路径地址
gpgcheck=0        #不启用校验(检查包来源)
enabled=1        #启用yum源
}

 补充知识:1.目录/media:设备连接后自动挂载的目录。

                   2. baseurl也可以是=ftp://  和  http:// 。

2.部署Mycat中间件服务

2.1安装KDJ环境

为什么要安装KDJ环境?

MyCat是java工程师开发的,需要配置java虚拟机环境,所以必须要安装KDJ环境,且部署环境要求JDK必须是1.7及以上版本。

[root@mycat ~]# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel        #安装KDJ(1.8版本)
(Complete!        #安装成功)
[root@mycat ~]# java -version        #检查JDK版本
(
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
#有这三条数据即安装成功 
)

3.部署MariaDB主从数据库集群服务

3.1安装MariaDB服务

[root@db1/@db2 ~]# yum install -y mariadb mariadb-server        #安装数据库MariaDB服务
(Complete!        #安装成功)
[root@db1/@db2 ~]# systemctl start mariadb        #启动mariadb服务
[root@db1/@db2 ~]# systemctl enable mariadb        #将mariadb服务设置为开机自自启
(Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.        #此数据意为在创建从/etc/……到/usr/……的符号链接)

3.2初始化MariaDB数据库

[root@db1/@db2 ~]# mysql_secure_installation        #安全配置向导
(
Enter current password for roo
  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值