MySQL 主從配置


一、MySQL 主從簡介

  1. MySQL 默認支持主(master)從(slave)功能.
  2. 配置完主從備份后效果:在主數據庫中操作時,從同步進行變化.
  3. 主從本質:主數據的操作寫入到日志中,從數據庫從日志中讀取,進 行操作.
  4. 主從原理
    • 默認 MySQL 沒有開啟日志功能
    • 每個 數據庫需 要有一 個 server_id, 主 server_id 值小 於從 server_id
    • 每個 mysql 都有一個 uuid,由於虛擬機直接進行克隆,需要修改 uuid 的值
    • 必須要在主數據庫中有一個用戶具有被從數據庫操作的權限
  5. MySQL5.7以前只支持一主一從的配置,5.7以后版本支持多主一從。

在這里插入圖片描述

二、MySQL主從配置

2.1 安裝mysql解壓版

  1. 設置了root用戶的密碼為root
  2. 把虛擬機克隆一份
  3. 主從的ip
    • 主:192.168.17.132
    • 從:192.168.17.133

2.2 修改主數據庫的my.cnf文件

  1. 執行命令:vim /etc/my.cnf
  2. 修改內容
    • log_bin 日志文件名稱,啟用日志功能
    • server_id 給定一個值
      在這里插入圖片描述
  3. 重啟mysql:service mysql restart

2.3 進入主數據庫的客戶端工具

mysql -u root --proot

2.4 新建一個myslave用戶並賦予權限

  1. 命令:
    grant all privileges on *.* to 'myslave'@'192.168.17.133' identified by 'smallming' with grant option; grant all privileges on *.* to root@'%' identified by 'root' with grant option; //授予root所有IP均可訪問的權限
  2. " * .* "表示任意數據庫的任意表
  3. myslave 用戶名
  4. 192.168.17.133 從數據庫的ip,哪個客戶端可以連接mysql服務端
  5. root是myslave的密碼
  6. 檢查執行結果:
    在這里插入圖片描述

2.5 通過命令可以觀察主數據庫在主從關系中狀態

  1. 日志文件:存在於mysql安裝目錄/data
  2. data文件夾xxxxx.index文件,存儲日志文件在哪里
  3. data文件夾auto.cnf編寫當前mysql的uuid
    在這里插入圖片描述

2.6 修改主數據庫的防火牆,放行3306端口

  1. vim /etc/sysconfig/iptables
  2. 重啟防火牆: service iptables restart

2.7 操作從數據庫的內容

  1. 修改從數據庫的my.cnf的server_id:vim /etc/my.cnf
  2. 設置server_id為2
    在這里插入圖片描述

2.8 修改從的uuid

  1. vim /usr/local/mysql/data/auto.cnf
  2. 隨意把值修改一下,只要和主數據庫的UUID值不同即可。
  3. 重啟mysql服務:service mysql restart

2.9 進入從數據庫的客戶端工具

  1. mysql -u root --proot

2.10 操作slave

  1. 關閉slave:stop slave
  2. 在從中配置出master的信息
    change master to master_host='192.168.17.132',master_user='myslave',master_password='root',master_log_file='master_log.000001';
  3. 開啟slave:start slave
  4. 顯示slave狀態:show slave status \G;
  5. 只要沒有錯誤,說明配置成功主從關系.

2.11 驗證主從關系

  1. 主從服務都重新啟動.
  2. 在主數據庫中新建數據庫,新建表,添加數據,觀察從數據庫的狀態.
    create database demo1 default character set utf8;
  3. 新數據查看是否有該數據庫,有則說明配置成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM