MySQL 8.0主從(Master-Slave)配置
MySQL 主從複製的方式有多種,本文主要演示基於基於日誌(binlog)的主從複製方式。
MySQL 主從複製(也稱 A/B 複製) 的原理
Master將資料改變記錄到二進位制日誌(binary log)中,也就是配置檔案log-bin指定的檔案,
這些記錄叫做二進位制日誌事件(binary log events);Slave 通過 I/O 執行緒讀取 Master 中的 binary log events 並寫入到它的中繼日誌(relay log);
Slave 重做中繼日誌中的事件, 把中繼日誌中的事件資訊一條一條的在本地執行一次,完
成資料在本地的儲存, 從而實現將改變反映到它自己的資料(資料重放)。
主從配置需要注意的點
主從伺服器作業系統版本和位數一致;
Master 和 Slave 資料庫的版本要一致;
Master 和 Slave 資料庫中的資料要一致;
Master 開啟二進位制日誌, Master 和 Slave 的 server_id 在區域網內必須唯一;
主從配置的簡要步驟
Master 上的配置
- 安裝資料庫;
- 修改資料庫配置檔案, 指明 server_id, 開啟二進位制日誌(log-bin);
- 啟動資料庫, 檢視當前是哪個日誌, position 號是多少;
- 登入資料庫, 授權資料複製使用者(IP 地址為從機 IP 地址, 如果是雙向主從, 這裡的還需要授權本機的 IP 地址, 此時自己的 IP 地址就是從 IP 地址);
- 備份資料庫(記得加鎖和解鎖);
- 傳送備份資料到 Slave 上;
- 啟動資料庫;
以下步驟, 為單向主從搭建成功, 想搭建雙向主從需要的步驟:
- 登入資料庫, 指定 Master 的地址、 使用者、 密碼等資訊(此步僅雙向主從時需要);
- 開啟同步, 檢視狀態;
Slave 上的配置
- 安裝資料庫;
- 修改資料庫配置檔案, 指明 server_id(如果是搭建雙向主從的話, 也要開啟二進位制
日誌 log-bin); - 啟動資料庫, 還原備份;
- 檢視當前是哪個日誌, position 號是多少(單向主從此步不需要, 雙向主從需要);
- 指定 Master 的地址、 使用者、 密碼等資訊;
- 開啟同步, 檢視狀態。
1、主節(Master)點配置
修改 Master 的配置檔案/etc/my.cnf
vi /etc/my.cnf
在my.cnf檔案中加入如下配置內容
[mysqld]
log-bin=mysql-bin
server-id=1
2、從節點(Slave)配置
修改 Slave 的配置檔案/etc/my.cnf
vi /etc/my.cnf
在my.cnf檔案中加入如下配置內容
[mysqld]
server-id=2
3、建立用於複製操作的使用者
在主節點建立一個使用者repl,用於從節點連結主節點時使用。
mysql> CREATE USER 'repl'@'192.168.199.198' IDENTIFIED WITH mysql_native_password BY 'Ron_master_1';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.199.198';
重新整理授權表資訊
mysql> flush privileges;
4、獲取主節點當前binary log檔名和位置(position)
mysql> SHOW MASTER STATUS;
5、在從(Slave)節點上設定主節點引數
mysql> CHANGE MASTER TO
MASTER_HOST='192.168.199.149',
MASTER_USER='repl',
MASTER_PASSWORD='Ron_master_1',
MASTER_LOG_FILE='binlog.000006',
MASTER_LOG_POS=856;
6、檢視主從同步狀態
mysql> show slave status\G;
7、開啟主從同步
mysql> start slave;
8、再檢視主從同步狀態
mysql> show slave status\G;
檢視狀態時,可能會出現I/O任務啟動失敗的情況,即如下錯誤:
Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the –replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).
這是因為在MySQL主從結構中,從機上的server_id
和主機上的server_id
不能相同,我們可以看一下主機上的server_id
和從機上的server_id
是否相同。
mysql> show variables like 'server_id';
主機:
從機:
這裡我們把從機的server_id改成2
mysql> set global server_id=2; #此處的數值和my.cnf裡設定的一樣就行
9、重新開啟同步並檢視裝態
mysql> start slave;
mysql> show slave status\G;
開啟主從之後,如果狀態如上圖所示,那麼說明主從資訊就已經配置好了,接下來我們測試一下在主機上建立一個數據庫,然後在從機上是否能夠同步建立。
首先看一下我們主機和從機除了MySQL本身自帶的資料庫之前目前是沒有任何資料的。
相關推薦
MySQL 8.0主從(Master-Slave)配置
MySQL 主從複製的方式有多種,本文主要演示基於基於日誌(binlog)的主從複製方式。 MySQL 主從複製(也稱 A/B 複製) 的原理 Master將資料改變記錄到二進位制日誌(binary log)中,也就是配置檔案log-bin指定的檔案,
MySQL5.6 數據庫主從(Master/Slave)同步安裝與配置詳解
inux bind 主從配置 希望 master 強調 數據庫主從 ria 配置文件 目錄(?)[+] 安裝環境 操作系統 :CentOS 6.5 數據庫版本:MySQL 5.6.27 主機A:192.168.1.1 (Master) 主機B:192.168.
Linux下一臺服務器Redis主從復制(master-slave)配置
conf mas linux -a src fig 客戶 數據操作 ima 主從概念 ?個master可以擁有多個slave,?個slave?可以擁有多個slave,如此下去,形成了強?的多級服務器集群架構 master用來寫數據,slave用來讀數據,經統計:網站的讀寫
MySQL5.6 資料庫主從(Master/Slave)同步安裝與配置詳解
安裝環境 作業系統 :CentOS 6.5 資料庫版本:MySQL 5.6.27 主機A:192.168.1.1 (Master) 主機B:192.168.1.2 (Slave) 這裡強調的資料庫的版本,是因為MySQL在5.6之前和之後的安裝方式是不
本地Mysql5.7主從(Master/Slave)安裝詳解,my.ini檔案配置
找到Master mysql的位置 C:\Program Files\MySQL\MySQL Server 5.7 複製資料夾到你所需要的目錄,我是在D:\Mysql separation\MySQL
MySQL5.6 (5.7)資料庫主從(Master/Slave)同步安裝與配置詳解
安裝環境 作業系統 :CentOS 6.5 資料庫版本:MySQL 5.6.27 主機A:192.168.1.1 (Master) 主機B:192.168.1.2 (Slave) 這裡強調的資料庫的版本,是因為MySQL在5.6之前和之後的安裝方式是不一樣的。 本人
Mysql 5.7.1.0 實現主從複製(master-slave)
開始前 請 保證兩臺主機的 防火牆、防毒軟體 不會阻止兩臺主機的正常通訊 。下面通過6步操作實現主從複製!
Centos 7.4 Mysql 8.0 Setting up master-master replication(主-主複製)叢集模式
介紹 主主模式基於上一篇文章主從模式,為了排版好看我省略上一篇的內容,以下是連線 https://blog.csdn.net/ciqingloveless/article/details/82866462 上一篇文章配置的是Mater傳送資料到Slave節點,這
mysql (master/slave)復制原理及配置
通過 除了 基本 logical slave 基礎 緩存 大量 failover 1 復制概述 Mysql內建的復制功能是構建大型,高性能應用程序的基礎。將Mysql的數據分布到多個系統上去,這種分布的機制,是通過將Mysql的某一臺主機的數據復制到其它主機(s
Centos7 安裝mysql-8.0.13(rpm)
net-tools 裝包 pen reboot sys rpm -ivh cli arc mys yum or rpm? yum安裝方式很方便,但是下載mysql的時候從官網下載,速度較慢。 rpm安裝方式可以從國內鏡像下載mysql的rpm包,比較快。rpm也適合離線安裝
Redis實現主從複製(Master&Slave)
由於前段時間公司專案比較趕,一直抽不出時間寫部落格,今天偷空寫一篇吧。前面給大家講解了單機版redis的基本操作,現在繼續給大家講解一下Redis的進階部分,主從複製和讀寫分離。 一、Master&Slave是什麼? 也就是我們所
mysql (master/slave)複製原理及配置
1 複製概述 Mysql內建的複製功能是構建大型,高效能應用程式的基礎。將Mysql的資料分佈到多個系統上去,這種分佈的機制,是通過將Mysql的某一臺主機的資料複製到其它主機(slaves)上,並重新執行一遍來實現的。複製過程中一個伺服器充當主伺服器,而一個或
redis基礎簡介(七)- 主從複製(master & slave)
簡介 redis主從複製配置和使用都非常的簡單。通過主從複製可以允許多個 slave 擁有和 master 相同的資料庫副本。 redis主從複製的特點: master可以擁有多個slave 多個 slave 除了可以連線同一個master之外,還可以連
MySQL 8.0 主從同步
一.簡介 一臺伺服器充當主資料庫伺服器,另一臺或多臺伺服器充當從資料庫伺服器,主伺服器中的資料自動複製到從伺服器之中。MySQL主從複製的基礎是主伺服器對資料庫修改記錄二進位制日誌,從伺服器通過主伺服器的二進位制日誌自動執行更新。 環境: 主庫主機(master):
MYSQL-8.0.11-WINX64(免安裝版)配置
OS value auth IE alter ransac 不支持 caching 安裝服務 1. 解壓zip包到安裝目錄 首先,將mysql-8.0.11-winx64.zip 解壓縮到 安裝D:/mysql-8.0.11-winx64 目錄下, 2.配置文件 在安裝根目
實戰MYSQL 8.0.12 主主復制配置過程
blog http 初始 table sock log_file replica block zxvf 實戰MYSQL 8.0.12 主主復制配置過程 搭建環境: Server name IP mysql1 192.168.200.1 mysql2 1
Hadoop3.0: 單機(偽叢集)配置
目的 本文主要講解的是在單節點下的Hadoop的環境安裝和配置,以幫助您可以快速的使用Hadoop的MapReduce和HDFS前提條件 環境支援 GNU/Linux現已支援開發和生產環境. Hadoop可以在 GNU/Linux叢集上支援2000節點。 Windows現
Windows mysql-8.0.11 master-slave 叢集(一)
一、下載安裝 mysql-8.0.11-winx64.zip:(2)安裝目錄:D:\Servers\mysql-8.0.11-3306(3)資料目錄:D:\Servers\mysql-8.0.11-3306\data(4)配置:D:\Servers\mysql-8.0.11
ActiveMQ 基於zookeeper的主從(levelDB Master/Slave)搭建以及Spring-boot下使用
tina true listener 報文 string ext 說明 下使用 nat 0:說明 ActiveMQ 5.9.0新推出的主從實現,基於zookeeper來選舉出一個master,其他節點自動作為slave實時同步消息。因為有實時同步數據的slave的存在,
MySQL 8.0復制性能的提升(翻譯)
行存儲 快捷 試圖 提高 需要 並發 流量 trac sla What’s New With MySQL Replication in MySQL 8.0 MySQL復制從問世到現在已經經歷了多個年頭,它的穩定性和可靠性也在穩步的提高。這是一個不停進化的過程,