關於MySQL AB複製
本文講解如何快速打包和安裝MySQL, MySQL AB複製,MySQL AB雙向複製,MySQL多級主從複製,解決AB雙向複製主鍵衝突。
首先我們先介紹什麼是MySQL AB複製。
AB複製又稱主從複製,實現的是資料同步。如果要做MySQL AB複製,資料庫版本盡量保持一致。如果版本不一致,從伺服器版本高於主伺服器,但是版本不一致不能做雙向複製。MySQL AB複製有什麼好處呢?有兩點,第一是解決宕機帶來的資料不一致,因為MySQL AB複製可以即時備份資料;第二點是減輕資料庫伺服器壓力,這點很容易想到,多台伺服器的效能一般比單台要好。但是MySQL AB複製不適用於大資料量,如果是大資料環境,推薦使用叢集。
然後我們來看看MySQL複製的 3 個主要步驟:
1)主伺服器把資料更改記錄到二進位日誌中,這個操作叫做二進位日誌事件;
2)從伺服器把主伺服器的二進位日誌事件拷貝到自己的中繼日誌(relay log)中;
3)從伺服器執行中繼日誌中的事件,把更改應用到自己的資料上。
快速打包和安裝MySQL
在正式介紹MySQL AB複製之前,介紹怎樣打包MySQL和快速安裝MySQL。
第一步,製作檔案
[root@serv08 ~]# find /usr/local/mysql/ /etc/my.cnf /etc/init.d/mysqld > mysql
第二步,打包
[root@serv08 ~]# tar -cPvzf mysql-5.5.29-linux2.6-x86_64.tar.gz -T mysql [root@serv08 ~]# ll -htotal 202M-rw-r--r--. 1 root root 411K Oct 5 19:19 mysql-rw-r--r--. 1 root root 202M Oct 5 19:21 mysql-5.5.29-linux2.6-x86_64.tar.gz
第三步,拷貝檔案到實體機
[root@serv08 mysql]# scp mysql-5.5.29-linux2.6-x86_64.tar.gz 192.168.1.1:/home/Wentasy/software/
第四步,拷貝檔案到serv01
[root@serv01 ~]# yum install /usr/bin/scp -y[root@larrywen 1005]# scp /home/Wentasy/software/mysql-5.5.29-linux2.6-x86_64.tar.gz 192.168.1.11:/optroot@192.168.1.11's password: mysql-5.5.29-linux2.6-x86_64.tar.gz 100% 201MB 33.5MB/s 00:06
第五步,解壓
[root@serv01 opt]# tar -xPvf mysql-5.5.29-linux2.6-x86_64.tar.gz
第六步,建立組和使用者,注意編號和安裝好資料庫的機器上的使用者一致
[root@serv01 opt]# groupadd -g 500 mysql[root@serv01 opt]# useradd -u 500 -g 500 -r -M -s /sbin/nologin mysql [root@serv01 opt]# id mysqluid=500(mysql) gid=500(mysql) groups=500(mysql)
第七步,改變MySQL安裝目錄的擁有者和所屬組
[root@serv01 opt]# chown mysql.mysql /usr/local/mysql/ -R
第八步,啟動MySQL,做測試
[root@serv01 opt]# /etc/init.d/mysqld startStarting MySQL.. SUCCESS! [root@serv01 opt]# mysql-bash: mysql: command not found[root@serv01 opt]# vim ~/.bash_profile [root@serv01 opt]# . !$. ~/.bash_profile[root@serv01 opt]# mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.5.29-log Source distributionCopyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
MySQL AB單向複製
好了,相信讀者已經學會怎樣打包MySQL和快速安裝MySQL,接下來正式進入主題,我們先來看看一主多從架構的拓撲圖:
圖一 一主多從架構
該圖展示了一個 master 複製多個 slave 的架構,多個 slave 和單個 slave 的實施並沒有實質性的區別,在 master 端並不在乎有多少個 slave 串連自己,只要有 slave 的 IO 線程通過了串連認證,向他請求指定位置之後的 binary log 資訊,他就會按照該 IO 線程的要球,讀取自己的binary log 資訊,返回給 slave的 IO 線程。
更多詳情見請繼續閱讀下一頁的精彩內容:
推薦閱讀:
MySQL備份與AB複製
Ubuntu下Nginx做負載實現高效能WEB伺服器5---MySQL主主同步
生產環境MySQL主主同步主鍵衝突處理
MySQL主從失敗 錯誤Got fatal error 1236
MySQL主從複製,單台伺服器上實施