mysql 主從複製

來源:互聯網
上載者:User

標籤:mysql   主從複製   

1、mysql的主從複製方案跟scp/rsync等命令進行的檔案層級複製類似,都是資料的遠程傳輸。只不過是Mysql內建這種功能而無需藉助第三方軟體而已。

2、它的複製並不是從磁碟上複製,而是通過邏輯的binlog日誌中抓取sql語句重新應用到mysql資料庫中。

3、實現主從複製,master需要開啟my.cnf中的binlog日誌功能。具體操作是增加以下參數:

[mysqld]

log-bin =/data/3306/mysql-bin  --從資料庫可以不設定。避免影響效能。當然設定了也沒關係。

注意該語句需要放在[mysqld]模組下。

4、用於主從複製的所有資料庫執行個體的server-id都不能相同。這點必須注意。

注意:my.cnf中參數是不能重複的。修改後需要重啟資料庫

5、建立用於複製的帳號:登陸到主要資料庫,然後執行如下語句:

grant replication slave on *.* to ‘rep‘@‘10.108.199.%‘ identified by ‘redhat‘;可以看到只授權了replication的許可權。只允許10.108.199網段以rep訪問。

select user,host from mysql.user;--查看結果。

6、備份資料庫語句:

mysqldump -uroot -p‘redhat‘ -S /data/3306/mysql.sock  --events -A -B |gzip > /data/backup/mysql_bak.$(date +%F).sql.gz

然後解壓。

然後把解壓的檔案恢複到另外一個執行個體中。

mysql -uroot -p‘redhat‘ -S /data/3308/mysql.sock < mysql_bak.2017-06-19.sql

登陸從資料庫:

 CHANGE MASTER TO  MASTER_HOST=‘10.0.0.7‘, MASTER_PORT=3306, MASTER_USER=‘rep‘, MASTER_PASSWORD=‘redhat‘, MASTER_LOG_FILE=‘mysql-bin.000001‘, MASTER_LOG_POS=1878;--對應的參數需要修改。

啟動slave;查看slave狀態;

start slave;

show slave status\G;

主要看到三個指標:IO_Running=yes;SQL_Running=yes;_Behind_Master=0;

如果這三個指標OK,說明主從設定成功。

以上內容請結合《跟老男孩學linux 營運--web叢集實踐》有更好理解(因為為是在學習這本書的時候做的筆記)


本文出自 “讓往事如煙” 部落格,請務必保留此出處http://kalson.blog.51cto.com/12267030/1953969

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.