8.31 MySQL主從配置、準備工作、配置主、配置從、測試主從同步

來源:互聯網
上載者:User

標籤:兩種   根據   host   分享圖片   data   圖片   inf   拷貝   mysqldump   

1、MySQL主從配置

   MySQL主從又叫做Replication、AB複製。簡單講就是A和B兩台機器做主從後,在A上寫資料,另外一台B也會跟著寫資料,兩者資料是即時同步的

  MySQL主從是基於binlog的,主上須開啟binlog才能進行主從。

  主從過程大致有3個步驟

    1)主將更改操作記錄到binlog裡

    2)從將主的binlog事件(sql語句)同步到從本機上並記錄在relaylog裡

    3)從根據relaylog裡面的sql語句按順序執行

  主上有一個log dump線程,用來和從的I/O線程傳遞binlog

  從上有兩個線程,其中I/O線程用來同步主的binlog並產生relaylog,另外一個SQL線程用來把relaylog裡面的sql語句落地

2、配置主

  主上操作

  安裝mysql

  修改my.cnf,增加server-id=130和log_bin=aminglinux1

  修改完設定檔後,啟動或者重啟mysqld服務,/etc/init.d/mysql restart,重啟之後查看/data/mysql目錄下,發現生產多個以aminglinux1為首碼的檔案,這個檔案是實現主從的主要檔案

  把mysql庫備份並恢複成aming庫,作為測試資料

  mysqldump -uroot mysql > /tmp/mysql.sql

  mysql -uroot -e “create database aming”建立新的庫

  mysql -uroot aming < /tmp/mysql.sql,恢複備份檔案至新建立的庫

 

  建立用作同步資料的使用者

  進入資料庫,然後執行如下命令:

  grant replication slave on *.* to ‘repl‘@slave_ip identified by ‘password‘;

  flush tables with read lock;,鎖定表,停止資料寫入

  show master status;

3、配置從 

  從上操作

  安裝mysql

  查看my.cnf,配置server-id=132,要求和主不一樣

  從不需要增加log_bin參數,修改完設定檔後,啟動或者重啟mysqld服務

  把主上aming庫同步到從上

  可以先建立aming庫,然後把主上的/tmp/mysql.sql拷貝到從上,然後匯入aming庫

  建立表之後,執行如下命令進行恢複:

mysql -uroot blog < /tmo/blog.sql

mysql -uroot zrlog < /tmo/zrlog.sql

mysql -uroot aming < /tmo/aming.sql

  然後執行如下命令,實現主從

  mysql -uroot

  stop slave;

  change master to master_host=‘‘,192.168.1.130 master_user=‘repl‘, master_password=‘‘, master_log_file=‘aminglinux1.000001‘, master_log_pos=474566;  //此命令是實現主從的重要配置

  start slave;

  然後執行show slave status\G查看從狀態,此處應顯示為兩個yes

 

  還要到主上執行 unlock tables

 4、測試主從同步

  主伺服器上

binlog-do-db= //僅同步指定的庫

binlog-ignore-db= //忽略指定庫

  從伺服器上

replicate_do_db=

replicate_ignore_db=  //不常用

replicate_do_table=  //僅同步哪些表,不常用

replicate_ignore_table=  //忽略哪些表,此操作容易導致資料不完整,因此建議採用下面兩種操作

replicate_wild_do_table= //如aming.%, 支援萬用字元%

replicate_wild_ignore_table=

   

  主從測試

  主上

  mysql -uroot aming

  select count(*) from db;

  truncate table db;此時該db為空白

  到從上

  mysql -uroot aming

  select count(*) from db;

  主上繼續drop table db;

  從上查看db表,此時也沒有該表

 

8.31 MySQL主從配置、準備工作、配置主、配置從、測試主從同步

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.