MariaDB数据库主从复制+读写分离
1.主从复制
1.1什么是主从复制
主从复制的原理 : 简而言之,MySQL-A在进行写操作时,都会更新数据库A的二进制sql日志,通过网络传输将二进制sql日志传递给数据库B,B再将二进制sql日志写入B数据库,完成主从复制。
主从复制能够解决:
①数据不丢失
②备份
③读写分离
④数据库负载均衡
⑤高可用
1.2主从复制配置
①准备两台linux服务器:
192.168.126.129 主服务器 master
192.168.126.130 从服务器 slave
②启动mysql
systemctl start mariadb
③关闭防火墙
firewall-cmd --state检查防火墙的状态
systemctl stop firewalld.service 关闭防火墙
systemctl disable firewalld.service 禁止防火墙开机自启
④编辑主服务器master下的/etc/my.conf文件
vim /etc/my.conf进入编辑
编辑完成后重启mysql数据库
systemctl restart mariadb
⑤打开SQLyog工具
执行如下语句
SHOW VARIABLES LIKE ‘server_id’;执行出现如下信息则说明配置成功
⑥实现主从挂载
查看主库的状态出现如下信息
配置从库slave 执行如下语句
启动主从服务,查看主从状态,出现两个yes则主从搭建成功
进行测试,修改主库中的数据然后刷新从库查看发现数据同步
2.读写分离
2.1实现数据库的读写分离
Mycat数据库代理 mycat下载
解压安装包
编辑service.xml文件说明: 该配置主要实现用户与代理之间的配置关系.
端口号: 8066端口
修改配置文件:
编辑schema.xml用户写操作访问129,用户的读操作访问129/130
修改数据库连接地址 mycat默认端口8066
启动mycat服务 进入mycat bin目录下执行
./mycat start 启动
./mycat status 查看状态是否启动成功
出现如图所示则成功
出现错误则查看日志
进入logs目录
cat wrapper.log 查看报错信息
2.2高可用
当数据库主机宕机之后,要求实现高可用机制.用户程序将不会受到影响. 数据库高可用机制.
2.2.1双机热备的思想
2.2.2进行反向搭建
之前192.168.126.129为主机192.168.126.130为从机
现在192.168.126.130当主机192.168.126.129当从机
130执行:
129执行:
修改mycat配置schema.xml文件
dataHost参数介绍
重启mycat服务
./mycat restart 重启
这样就实现了双机热备,及时一台数据库宕机也不会影响用户的读写操作
主库宕机后会自动切换到第二个节点,因为双主模式的搭建,主库恢复后会拉取从库的数据,两个数据库既是从库也是主库实现了同步