MYSQL Replication教學
在資料庫的建置會有一個很大的問題,就是要做平行延伸及Fail over的問題,如果是Mysq或Mariadb的使用者,就可以透過Relication解決掉資料庫層的這個問題。
* 這個架構我們稱為Master/Slave的架構,我們現在來實際以下的架構圖。
目前,我們先實作一個master跟一個slave就好,接下來要延申第二台或第三台做法都是一樣的。
- 先到master裡面設定這一個檔案/etc/mysql/my.cnf,我們要能讓master能listen其它的IP
拿掉或注解 bind-address = 127.0.0.1
- 設定bin.log,一樣到/etc/mysql/my.cnf裡面做設定
log-bin = /var/log/mysql/mysql-bin.log
server-id=1
- 產生給slave用的user
GRANT REPLICATION SLAVE ON *.* TO ‘slave_user’@’%’ IDENTIFIED BY ‘<input_password>’;
FLUSH PRIVILEGES;
- 接下來要把資料庫完整copy到slave,這裡就不多做說明了,但有一個重點事做這個架構時、二邊資料一定要一致,所以怕在做的過程中、資料會做異動,你可以lock住資料庫、再進行dump到slave的動作
mysqldump -u root -p –all-databases > all_database.sql
- 然後到slave的/etc/mysql/my.cnf,設定以下資料
server-id=2
- 把資料倒進slave
mysqldump -u root -p –default-character-set=utf8 < all_database.sql
- 接下來建立master使用的user
CHANGE MASTER TO MASTER_HOST=’192.168.0.1′, MASTER_PORT=3306, MASTER_USER=’master_user’,
MASTER_PASSWORD='<input_password>;
FLUSH PRIVILEGES;
- 執行
START SLAVE;
9. 檢查是否成功
HOW SLAVE STATUS \G;
10.這邊都是0的話,表示成功了!
相關文章:
我要留言