MySQL主从配置和Nginx简单运用

目录

1. MySQL主从复制

1.1 介绍

MySQL的主从复制原理如下:

MySQL复制过程分成三步:

1.2 搭建

1.2.1 准备工作

1.2.2 主库配置

1.2.3 从库配置

1.3 测试

2. 读写分离案例

2.1 背景介绍

2.2 ShardingJDBC介绍

2.3 数据库环境

2.4 初始工程导入

2.5 读写分离配置

2.6 测试

3. 项目实现读写分离

3.1 数据库环境准备

 3.2 创建Git分支

3.3 读写分离配置

3.4 功能测试

3.5 Git合并代码

4. Nginx-概述

4.1 介绍

4.2 下载和安装

4.2.1 下载

4.2.2 安装

4.3 目录结构

5. Nginx-命令

5.1 常用命令

5.2 环境变量配置

6. Nginx-应用

6.1 配置文件结构

6.2 部署静态资源

6.2.1 介绍

6.2.2 测试

6.3 反向代理

6.3.1 概念介绍

6.3.2 测试

6.4 负载均衡

6.4.1 概念介绍

6.4.2 测试

6.4.3 负载均衡策略


 

1). 存在的问题

在前面基础功能实现的过程中,我们后台管理系统及移动端的用户,在进行数据访问时,都是直接操作数据库MySQL的 ,MySQL服务器只有一台,那么就可能会存在如下问题:

1). 读和写所有压力都由一台数据库承担,压力大

2). 数据库服务器磁盘损坏则数据丢失,单点故障

2). 解决方案

为了解决上述提到的两个问题,我们可以准备两台MySQL,一台主(Master)服务器,一台从(Slave)服务器,主库的数据变更,需要同步到从库中(主从复制)。而用户在访问我们项目时,如果是写操作(insert、update、delete),则直接操作主库;如果是读(select)操作,则直接操作从库(在这种读写分离的结构中,从库是可以有多个的),这种结构我们称为 读写分离 。 今天我就需要实现上述的架构,来解决业务开发中所存在的问题。

1. MySQL主从复制

MySQL数据库默认是支持主从复制的,不需要借助于其他的技术,我们只需要在数据库中简单的配置即可。接下来,我们就从以下的几个方面,来介绍一下主从复制:

1.1 介绍

MySQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的 二进制日志 功能。就是一台或多台MySQL数据库(slave,即从库)从另一台MySQL数据库(master,即主库)进行日志的复制,然后再解析日志并应用到自身,最终实现 从库 的数据和 主库 的数据保持一致。MySQL主从复制是MySQL数据库自带功能,无需借助第三方工具。

二进制日志:

二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复起着极其重要的作用,MySQL的主从复制, 就是通过该binlog实现的。默认MySQL是未开启该日志的。

MySQL的主从复制原理如下:

 

MySQL复制过程分成三步:

1). MySQL master 将数据变更写入二进制日志( binary log)

2). slave将master的binary log拷贝到它的中继日志(relay log)

3). slave重做中继日志中的事件,将数据变更反映它自己的数据

1.2 搭建

1.2.1 准备工作

提前准备两台服务器,并且在服务器中安装MySQL,服务器的信息如下:

数据库 IP 数据库版本
Master 192.168.200.200 5.7.25
Slave 192.168.200.201 5.7.25

并在两台服务器上做如下准备工作:

1). 防火墙开放3306端口号

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --zone=public --list-ports

 

 

2). 并将两台数据库服务器启动起来:

systemctl start mysqld

登录MySQL,验证是否正常启动

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL主从复制是一种常见的数据库复制技术,可以将一个MySQL数据库的更改同步到其他MySQL数据库。负载均衡是一种技术,可以将流量分发到多个服务器上,以实现负载分担和提高系统的可用性和性能。在结合主从复制和负载均衡时,可以实现MySQL数据库的负载均衡。 以下是一种常见的方法,用于实现MySQL主从复制的负载均衡: 1. 配置主从复制:首先,设置一个MySQL数据库作为主数据库(Master),将所有的写操作都发送到该数据库。然后,配置一个或多个MySQL数据库(Slave),通过复制主数据库的更改来实现数据同步。 2. 配置负载均衡器:使用负载均衡器来将流量分发到多个MySQL数据库上。常见的负载均衡器有HAProxy、Nginx、LVS等。配置负载均衡器时,需要指定各个MySQL数据库的地址和端口,并设置合适的负载均衡策略,如轮询、加权轮询、最小连接数等。 3. 监控和管理:确保主从复制和负载均衡的正常运行。监控主数据库和从数据库的状态,及时检测并处理潜在的问题。同时,监控负载均衡器的性能和流量分发情况,确保负载均衡的效果。 需要注意的是,MySQL主从复制的负载均衡并不是完全自动化的,需要进行适当的配置和管理。此外,负载均衡并不能解决所有性能问题,还需要注意数据库的设计和优化,以及合理的硬件资源配置

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值