MySQL --- 主从复制、读写分离

本文详细介绍了MySQL的主从复制过程,包括原理、搭建步骤和测试,以及如何通过二进制日志实现数据同步。接着,讨论了读写分离的重要性,并以ShardingJDBC为例,阐述了如何在Java项目中实现读写分离,包括ShardingJDBC的特点和配置方法。
摘要由CSDN通过智能技术生成

一、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、搭建

准备工作

 

提前准备两台服务器,并且在服务器中安装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,验证是否正常启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值