基於centos7安裝MySQL8主從複製配置

1、主從複製原理

  1. 在主庫上把數據更改記錄到二進制日誌中(Binary Log)中,這些記錄稱爲二進制日誌事件。
  2. 從庫通過IO線程將主庫上的日誌複製到自己的中繼日誌(Relay Log)中。
  3. 從庫通過SQL線程讀取中繼日誌中的事件,將其重放到自己數據上。
    在這裏插入圖片描述

1.1、環境準備

兩天服務器均要安裝mysql數據庫,linux安裝mysql數據庫鏈接:https://www.jb51.net/article/175013.htm
服務器環境:centos7 mysql版本:8.0.18
主服務器:192.168.78.230
從服務器:192.168.78.235
有其它文章都是部分操作命令是在服務器mysql終端上操作的,如下我將用navicat連接數據庫執行命令。

2、主服務器節點

2.1、修改my.cnf文件

[root@localhost ~]# vim /etc/my.cnf
#服務器節點id,一般爲服務器ip方便區分
server-id=230
#開啓日誌文件
log-bin=mysql-bin
#指定要同步的數據庫,多個用逗號隔開(可以不用配置)
binlog_do_db=gi_test

在這裏插入圖片描述

2.1.1、驗證配置是否成功

#重啓mysql服務
systemctl restart mysqld
#查看mysql服務狀態
systemctl status mysqld

表示重啓成功

2.1.2、驗證查詢server_id是否存在

## 驗證查詢server_id是否存在 
 show variables like '%server_id%';

在這裏插入圖片描述

2.1.3、查詢同步的文件和行數

# 查詢同步的文件和行數,如下查詢的數據在從服務器上執行命令會用到。
show master status;  

在這裏插入圖片描述

3、從服務器節點

3.1、修改my.cnf文件

[root@localhost ~]# vim /etc/my.cnf
 
#服務器節點id,一般爲服務器ip方便區分
server-id=235
#開啓日誌文件
log-bin=mysql-bin
#指定要同步的數據庫,多個用逗號隔開(可以不用配置)
binlog_do_db=gi_test

3.2、驗證配置是否成功

然後重啓mysql服務: systemctl restart mysqld
驗證:show variables like ‘%server_id%’; 如能能查詢出對應配置的server_id值表示已經配置成功
在這裏插入圖片描述

3.2.1、從服務器器同步主服務器配置

#從服務器器同步主服務器配置
	## master_log_file='mysql-bin.000006' 表示要同步的日誌文件File,
	##是主服務器上述命令‘show master status;'查詢出來的值 
	## master_log_pos=155 表示要同步日誌文件的位置(多少行),詳見上圖。
change master to master_host='192.168.78.230',master_user='root',master_password='root',master_log_file='mysql-bin.000006',master_log_pos=155;
#開啓同步
start slave
#檢查從服務器複製功能狀態
show slave status;

在這裏插入圖片描述
最後如上圖所示紅框中兩個字段爲yes表示已經成功開啓了主從複製了。

4、功能測試

在主數據庫230中新建表tb_uesr,然後在插入一條數據

## 新建tb_user表
CREATE TABLE `gi_test`.`tb_user`  (
  `id` bigint(0) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NULL,
  `password` varchar(100) NULL,
  PRIMARY KEY (`id`)
);

## 插入數據
INSERT INTO tb_user(name, `password`) VALUES('古天樂','123456');

再去從數據庫查看是否存在tb_user及插入的數據,如果存在則表示已經配置成功,自我總結學習並分享給大家。
下一篇地址:基於centos7安裝mycat服務配置讀寫分離

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