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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章