MYSQL | 企業整合解決方案之mysql集羣搭建-主從配置

主從形式

mysql主從複製:

一主一從
主主複製
一主多從---擴展系統讀取的性能,因爲讀是在從庫讀取的;
多主一從---5.7開始支持
聯級複製---


用途及條件

  • mysql主從複製用途

    實時災備,用於故障切換
    讀寫分離,提供查詢服務
    備份,避免影響業務(備可用性和容錯行)
    負載平衡
  • 主從部署必要條件:

    主庫開啓binlog日誌(設置log-bin參數)
    主從server-id不同
    從庫服務器能連通主庫

主從原理


  • 庫生成兩個線程,一個I/O線程,一個SQL線程;

  • I/O線程去請求主庫 的binlog,並將得到的binlog日誌寫到relay log(中繼日誌) 文件中;

  • 主庫會生成一個 log dump 線程,用來給從庫 i/o線程傳binlog;

  • SQL 線程,會讀取relay log文件中的日誌,並解析成具體操作,來實現主從的操作一致,最終數據一致;

配置信息

Mysql主服務器:

版本:mysql  Ver 14.14 Distrib 5.7.20
IP:192.168.168.226
PORT:3306

Mysql從服務器

版本:mysql  Ver 14.14 Distrib 5.7.20
IP:192.168.168.227
PORT:3306

服務器:

CentOS 7

搭建步驟

  • 登錄主服務器,執行如下命令:

    mysql -u root -p

    提示密碼安全策略問題:
    set global validate_password_policy=0;

    grant replication slave on *.* TO 'backup'@'192.168.168.227' identified by 'Likang123qwe';
    flush privileges

編輯主服務器的數據庫配置文件信息my.cnf

vi /etc/my.cnf

添加如下信息:
   server-id=226
   log_bin=/var/log/mysql/mysql-bin.log
   read-only=0
   binlog-do-db=test
   binlog-ignore-db=mysql


登錄從服務器,執行如下命令:

編輯從服務器的數據庫配置文件信息:my.cnf

vi /etc/my.cnf

server-id=227
log_bin=/var/log/mysql/mysql-bin.log

重啓主服務器

service mysqld restart

提示如下信息:

  • 修改:

    進入/var/log/文件夾下,新建文件mysql,進入mysql目錄,新建文件mysql-bin.log文件,並賦予讀寫權限(mysql和mysql-bin.log)
  • 登錄主服務器,查看master狀態

    show master status\G;

登錄從服務器,設置主從關係

change master to master_host='192.168.168.226',master_user='backup',master_password='Likang123qwe',master_log_file='mysql-bin.000001',master_log_pos=154;

  • 查看從服務器的主從關係狀態

    show slave status\G;
  • 主服務器下執行

    /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
  • 從服務器下執行

    /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
  • 如果主從庫中不存在test庫,則需要重新建庫,然後重啓,重新構建主從關係

  • 從服務器下

     Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

    如果都爲yes,則主從搭建成功

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