Mysql 之主从复制

一、主从复制的概述

  • 在企业网站中,如果对数据库的读和写都在同一个数据库服务器中操作时,会有以下问题:
    • 单点故障,服务不可用
    • 无法处理大量的并发数据请求
    • 数据丢失-大灾难

因此,通过主从复制的方式来同步数据。

1.1、Mysql 主从复制的类型

  • 1、基于语句的复制(默认)
    在主服务器上执行的语句,从服务器执行同样的语句。
  • 2、基于行的复制
    把改变的内容复制到从服务器。
  • 3、混合类型的复制
    一旦发现基于语句无法精确复制时,就会采取基于行的复制。

1.2、主从复制的工作过程

在这里插入图片描述

二、案例模拟

2.1、实验准备

  • 准备两台虚拟机,都搭建好 Mysql 服务。
    具体的搭建过程见之前的博客,链接为:Mysql5.7版本安装步骤详解
  • 一台做主服务器,另外一台做从服务器
主服务器master 从服务器slave
192.168.220.136 192.168.220.164

2.2、主从复制实验操作

一、设置时间同步

  • 主服务器:

1、安装时间功能

yum -y install ntp 

2、修改时间服务的配置文件

vim /etc/ntp.conf
server 127.127.220.0             //本地是时钟源
fudge 127.127.220.0 stratum 8    //设置时间层级为8

3、开启服务,并关闭防火墙

systemctl start ntpd 
systemctl stop firewalld 
setenforce 0
  • 从服务器:

1、安装ntp包

yum -y install ntp ntpdate

2、开启服务,并关闭防火墙

systemctl start ntpd 
systemctl stop firewalld  
setenforce 0

3、进行时间同步

/usr/sbin/ntpdate 192.168.220.136  
//此处IP地址是主服务器的地址

在这里插入图片描述
二、修改服务器的配置

  • 主服务器:

1、mysql主服务器配置

vim /etc/my.cnf
server-id = 11               //指定id号,服务器的唯一标识,不能相同
log-bin=master-bin           //主服务器日志文件
log-slave-updates=true       //从服务器更新二进制日志

在这里插入图片描述
2、重启服务

systemctl restart mysqld

3、登录数据库,给从服务器授权。

mysql -u root -pabc123

GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.220.%' IDENTIFIED BY '123123';
flush privileges;      //刷新数据库的权限相关表

在这里插入图片描述
File和Position这两个值在后面配置从服务器的时候会用到,slave应从该点在master上进行新的更新。
在这里插入图片描述

  • 从服务器:

1、修改配置文件

vim /etc/my.cnf

server-id = 22       
relay-log=relay-log-bin     //从主服务器上同步日志文件记录到本地  
relay-log-index=slave-relay-bin.index   //定义relay-log的位置和名称

在这里插入图片描述
2、重启服务

systemctl restart mysqld

3、登录数据库,配置同步。

mysql -u root -pabc123

change master to master_host='192.168.220.136',master_user='myslave',master_password='123123',master_log_file='master-bin.000001',master_log_pos=604;

在这里插入图片描述
4、启动同步,查看slave状态,确保以下两个值为YES

start slave;    //开启从服务       
show slave status\G;    //查看状态

在这里插入图片描述

2.3、实验验证

1、在主服务器上新建一个数据库,查看从服务器上是否有 test 库。
在这里插入图片描述
2、从服务器验证
在这里插入图片描述
验证得到主、从服务器的数据库相同,则主从复制成功。下一篇博客将介绍读写分离。

发布了72 篇原创文章 · 获赞 32 · 访问量 4932
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章