標籤:linux mysql資料庫主從配置
MySQL資料庫“主從”配置
一、配置概述:
在Linux作業系統中配置MySQL資料庫的主從複製是很重要的,為什麼這樣說呢!是因為在你搭建一個伺服器以後你配置了2台資料庫,一主一從。2台資料庫配置好以後,當其中一台資料庫被攻擊以後,你被攻擊的這台資料庫的資料會被自動的備份到另一台資料庫中去。即使被攻擊了資料也不會丟失。配置主從就是為了讓web網站或其他的軟體可以正常運轉,確保資料的存在。
二、配置步驟:
《配置具備的條件》
1、需要在虛擬機器上安裝好兩台主機,同時安裝好同一個版本的MySQL資料庫。確定一個資料庫為主要資料庫。另一個資料庫為次資料庫。開始配置。
2、分別登入到兩個系統中的MySQL資料庫。
3、查看兩台作業系統的網路連接是否正常
命令: Ifconfig查看IP
使用: 在主要資料庫上ping次資料庫的IP看是否互連。
主—》次“ping 192.168.1.138”
次---》主“ping192.168.1.128”
OK
第一步:配置主要資料庫。
1、配置主要資料庫伺服器。
開啟my.cnf設定檔配置
vim /etc/my.cnf。
配置語句
《server-id=1 這個是確定是主要資料庫
log-bin=/var/lib/mysql/mysql-bin.log》指定一個資料庫儲存的位置
儲存退出 :wq
重啟伺服器:servicemysqld restart
沒有提示錯誤就說明OK的
2、進入資料庫查看資料庫的具體狀態
命令:mysql -uroot –p 進入MySQL資料庫。
命令:showmaster status\G; 查看狀態。
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/06/60/wKiom1m3WBSh7ARwAABA8oUUIjg273.jpg" title="1.jpg" alt="wKiom1m3WBSh7ARwAABA8oUUIjg273.jpg" />
3、對資料庫的表進行鎖定
命令:flush tables with read lock;
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/06/60/wKiom1m3WOSBTtT-AAAhAFxgBmQ973.jpg" title="2.jpg" alt="wKiom1m3WOSBTtT-AAAhAFxgBmQ973.jpg" />
4、對MySQL資料庫進行備份操作(退出 資料庫以後備份
命令:mysqldump -hlocalhost -uroot -p3306 -p dzx>/home/dzx.sql
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/06/61/wKiom1m3X2rDIt9yAAAetcRe8vA695.jpg" title="3.jpg" alt="wKiom1m3X2rDIt9yAAAetcRe8vA695.jpg" />
5、去/home目錄下查看dzx.sql資料庫檔案.
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/A5/11/wKioL1m3X3jxR932AAARsjuqZiw343.jpg" title="4.jpg" alt="wKioL1m3X3jxR932AAARsjuqZiw343.jpg" />
6、將主要資料庫的dzx.sql檔案傳輸到次資料庫,以此確保資料庫中的表結構和資料能夠一致。
命令:scpdzx.sql [email protected]:/home/
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/06/61/wKiom1m3X8mxVldPAAAh9KWfHpY991.jpg" title="5.jpg" alt="wKiom1m3X8mxVldPAAAh9KWfHpY991.jpg" />
7、取消主要資料庫中表的鎖定。
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/A5/11/wKioL1m3X8bDpfQrAAAW7JyQsjw307.jpg" title="6.jpg" alt="wKioL1m3X8bDpfQrAAAW7JyQsjw307.jpg" />
8、在次資料庫的設定檔中會使用到使用者,再次提前建立好
grantreplication slave on *.* to ‘dzx‘@‘192.168.1.128‘ identified by ‘dzx123‘;
建立一個使用者,賦予它所有的許可權給dzxuser這個使用者,他的IP為192.168.1.128,他的密碼為dzx123。
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/A5/11/wKioL1m3X_GATn1xAAAfDC0S8PA578.jpg" title="7.jpg" alt="wKioL1m3X_GATn1xAAAfDC0S8PA578.jpg" />
第二步:配置次資料庫。
1、在第二個作業系統中開啟主設定檔my.cnf
vim/etc/my.cnf
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/06/61/wKiom1m3YJ7BGQiyAABfIG7JhTY075.jpg" title="8.jpg" alt="wKiom1m3YJ7BGQiyAABfIG7JhTY075.jpg" />
2、配置次資料庫裡面的配置命令
server-id=2 這個是次資料庫的ID號,不能和主要資料庫的一樣
log-bin=/var/lib/mysql/mysql-bin.log 這個與主要資料庫的一致
master-host=192.168.1.128 這是主要資料庫服務的IP地址
master-user=dzx 這個是主要資料庫的使用者名稱
master-pass=dzx123 這個是主要資料庫中使用者的對應密碼
master-port=3306 這個是書資料庫的連接埠號碼
master-connect-retry=10 這個是配置串連的二次時間的長短---間隔串連
replicate-do-db=dzx 複製dzx這個資料庫
儲存退出 :wq
重啟服務 servicemysqld restart
進入資料庫。
3、驗證兩個參數,是為了保證與主要資料庫之間是互相通訊的。
(1)查看配置
show slave status\G;
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/A5/11/wKioL1m3YVKB-9vcAACq1oMX2fA679.jpg" title="9.jpg" alt="wKioL1m3YVKB-9vcAACq1oMX2fA679.jpg" />
(這是從資料庫的)
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/A5/11/wKioL1m3YYuiXwLiAABEslj2klU998.jpg" title="10.jpg" alt="wKioL1m3YYuiXwLiAABEslj2klU998.jpg" />
(這是主要資料庫的)
當主要資料庫的file項和position項都與從資料庫的一致的時候才能起到作用。否則是失敗的。
三、結束語:
直到這裡主從資料庫配置就結束了。在配置過程中注意不要配置錯了,彼此之間是有聯絡的,一步錯後面的都會導致失敗。當配置成功以後,你操作主要資料庫時次資料庫也會受到影響。資料也會自動備份到次資料庫中去。本文中如果有不妥的地方還請多多指教。謝謝!
本文出自 “孤獨一夜” 部落格,謝絕轉載!
Linux系統中MySQL資料庫“主從”配置