MySQL主從複制是一種常見的資料庫複制技術,它可以将一個MySQL資料庫的資料複制到多個MySQL伺服器上,進而提高資料的可用性和可靠性。在主從複制中,一個MySQL伺服器充當主伺服器,負責處理所有的寫操作,而其他MySQL伺服器則充當從伺服器,隻負責接收主伺服器發送的資料變更并将其應用到本地資料庫中。
讀寫分離是一種常見的資料庫優化技術,它可以将讀操作和寫操作分别配置設定到不同的MySQL伺服器上,進而提高資料庫的讀取性能。在讀寫分離中,一個MySQL伺服器充當主伺服器,負責處理所有的寫操作和部分讀操作,而其他MySQL伺服器則充當從伺服器,隻負責處理讀操作。
MySQL主從複制和讀寫分離可以結合使用,目的很簡單,就是為了提高資料庫的并發性和資料的安全性。在這種情況下,一個MySQL伺服器充當主伺服器,負責處理所有的寫操作和部分讀操作,而其他MySQL伺服器則充當從伺服器,隻負責處理讀操作。通過這種方式,可以将讀操作的負載分散到多個從伺服器上,進而提高資料庫的讀取性能,并且在主伺服器故障時,從伺服器可以接管主伺服器的工作,保證資料的可用性和可靠性。
一、準備
1.1下載下傳MySQL安裝包
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
1.2 上傳安裝包
1.3 将安裝包發送到另外一個節點
1.4 檢目前主機是否有安裝MySQL資料庫
删除已經安裝的MySQL資料庫
1.5 解除安裝主機自帶的mariadb資料庫
二、單機安裝MySQL
2.1 開始安裝MySQL資料庫(安裝階段主從節點都一樣)
2.2 初始化資料庫(修改登入使用者密碼)(擷取不到初始密碼,先配置免密登入資料庫,改完密碼之後再取消免密)
2.2.1 修改my.cnf
2.2.2 啟動mysql
2.2.3 登入資料庫
修改配置檔案my.cnf (設定免密登入)
重新開機資料庫systemctl restart mysqld
重新開機完成登入資料庫
登入進來之後改root使用者密碼
改完資料庫密碼之後,删除my.cnf配置檔案裡面的免密登入設定
删除之後記得重新開機MySQL systemctl restart mysqld
2.3 建立新使用者
2.3.1 登入資料庫
2.3.2 建立使用者
三、主從複制配置
3.1 實驗環境
主節點:192.168.201.10 從節點:192.168.201.20
MySQL版本:5.7.37 Linux:centOS7.x
3.2 配置主節點
3.2.1 修改my.cnf檔案
重新開機資料庫
3.2.2登入資料庫檢視二進制日志是否開啟
3.2.3 檢視主節點二進制日志清單(已經生成的日志清單)
3.2.4 在主節點上建立有複制權限的使用者
3.2.5 重新整理配置檢視master節點狀态
3.3 配置從節點
3.3.1 編輯從節點配置檔案添加以下内容
3.3.2 重新開機從節點
3.3.3 檢視中繼日志是否開啟
3.3.4 檢視server 相關資訊
3.3.5 在從節點配置通路主節點的參數資訊
問題
解決方法
修改之後記得重新開機,重新開機完成登入資料庫
3.3.6 在從節點上執行下面指令配置通路主節點的參數資訊
change master to master_host='192.168.201.10',master_user='root',master_password='Abc_123@',master_log_file='mysql-bin.000008',master_log_pos=154;