实战案例—Mycat部署Mysql主从数据库和读写分离
案例目标:
(1)了解数据库服务的安装
(2)了解主从数据库集群的配置架构
(3)构建以 Mycat 为中间件的读写分离数据库集群。
序:节点规划
IP | 主机名 | 节点 |
---|---|---|
192.168.200.128 | db1 | 主数据库节点 |
192.168.200.129 | db2 | 从数据库节点 |
192.168.200.200 | mycat | mycat中间件服务节点 |
基础centos7(3.10.0-1062.el7.x86_64),VMware创建三台虚拟机进行实验,均已关闭防火墙,selinux和清除iptables规则,yum源使用阿里源。
db1和db2部署MariaDB数据库服务,搭建主从数据库集群,一台作为主节点,负责写入数据库信息;另一作为从节点,负责独去数据库信息。
还有一台作为Mycat数据库中间件服务,将用户提交的读写操作识别分发给相应的数据库节点。
这样将用户的访问操作、数据库的读与写操作分给 3 台主机,只有数据库集群的主节点接收增、删、改 SQL 语句,从节点接收查询语句,分担了主节点的查询压力。
一、安装 JDK 环境:
部署Mycat中间件服务需要先部署JDK 1.7或以上版本的JDK软件环境
这里部署JDK 1.8版本。
Mycat 节点安装 Java 环境:
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
二、部署 MariaDB 主从数据库集群服务
通过 YUM 命令在 db1 和 db2 虚拟机节点上安装 MariaDB 服务
yum install -y mariadb mariadb-server
2 个节点启动 MariaDB 服务,并设置 MariaDB 服务为开机自启。
systemctl start mariadb
systemctl enable mariadb
初始化MariaDB数据库
在 db1 和 db2 虚拟机节点上初始化 MariaDB 数据库,并设置 MariaDB 数据库 root 访问用户的密码为 000000。
mysql_secure_installation
……
Set root password? [Y/n] y
New password: #输入数据库 root 密码 000000
Re-enter new password: #重复输入密码 000000
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
配置数据库集群主节点
编辑主节点 db1 虚拟机的数据库配置文件 my.cnf,在配置文件 my.cnf 中增添下面的内容:
cat /etc/my.cnf
[mysqld]
log_bin = mysql-bin #记录操作日志
binlog_ignore_db = mysql #不同步 MySQL 系统数据库
server_id = 18 #数据库集群中的每个节点 id 都要不同
……
编辑完成配置文件 my.cnf 后,重启 MariaDB 服务
systemctl restart mariadb