




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、利用keepalived構(gòu)建高可用MySQL-HA在MySQL-HA環(huán)境中,MySQL互為主從關(guān)系,這樣就保證了兩臺MySQL數(shù)據(jù)的一致性,然后用keepalived實現(xiàn)虛擬IP,通過keepalived自帶的服務(wù)監(jiān)控功能來實現(xiàn)MySQL故障時自動切換。構(gòu)架環(huán)境拓撲如下1. MySQL-VIP: 2. MySQL-master1: 3. MySQL-master2: 4. OS版本:redhat 5.55.6. Keepalived版本: 一、MySQL master-master配置1、修改MySQL配置文件兩臺MySQL均如要開啟b
2、inlog日志功能,開啟方法:在MySQL配置文件MySQLd段中加上log-bin=MySQL-bin選項兩臺MySQL的server-ID不能一樣,默認情況下兩臺MySQL的serverID都是1,需將其中一臺修改為2即可2、將設(shè)為的主服務(wù)器在上新建授權(quán)用戶1. MySQL> grant replication slave on *.* to 'replication''%' identified by 'replication'
3、60;2. Query OK, 0 rows affected (0.00 sec) 3. 4. MySQL> show master status; 5. +-+-+-+-+ 6. | File | Position | Binlog_Do_DB |
4、 Binlog_Ignore_DB | 7. +-+-+-+-+ 8. | MySQL-bin.000003 | 374 | |
5、60; | 9. +-+-+-+-+ 10. 1 row in set (0.00 sec) 在上將設(shè)為自己的主服務(wù)器1. MySQL> change master to master_host='',master_user='replication',master_password='replication',master_log_file='MySQ
6、L-bin.000003',master_log_pos=374; 2. Query OK, 0 rows affected (0.05 sec) 3. 4. MySQL> start slave; 5. Query OK, 0 rows affected (0.00 sec) 6. 7. MySQL> show slave statu
7、sG 8. * 1. row * 9. Slave_IO_State: Waiting for master to send event 10.
8、160; Master_Host: 11. Master_User: replication 12. Master_Port: 3306
9、13. Connect_Retry: 60 14. Master_Log_File: MySQL-bin.000003 15. Read_Maste
10、r_Log_Pos: 374 16. Relay_Log_File: MySQL-master2-relay-bin.000002 17. Relay_Log_Pos: 235 18.
11、 Relay_Master_Log_File: MySQL-bin.000003 19. Slave_IO_Running: Yes 20. Slave_SQL_Running: Yes 21.
12、160; Replicate_Do_DB: 22. Replicate_Ignore_DB: 23. Replicate_Do_Table: 24. Replicate_
13、Ignore_Table: 25. Replicate_Wild_Do_Table: 26. Replicate_Wild_Ignore_Table: 27. Last_Errno: 0 28.
14、; Last_Error: 29. Skip_Counter: 0 30. Exec_Master_Log_Pos: 374
15、 31. Relay_Log_Space: 235 32. Until_Condition: None 33. &
16、#160;Until_Log_File: 34. Until_Log_Pos: 0 35. Master_SSL_Allowed: No 36. M
17、aster_SSL_CA_File: 37. Master_SSL_CA_Path: 38. Master_SSL_Cert: 39. Master_SSL
18、_Cipher: 40. Master_SSL_Key: 41. Seconds_Behind_Master: 0 42. 1 row in set (0.00 sec) 3、將設(shè)為的主服務(wù)器在上新建授權(quán)用戶1. MySQL>
19、;grant replication slave on *.* to 'replication''%' identified by 'replication' 2. Query OK, 0 rows affected (0.00 sec) 3. 4. MySQL> show master status; 5. +-+
20、-+-+-+ 6. | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | 7. +-+-+-+-+ 8. | MySQL-bin.000003 | 374 |
21、160; | | 9. +-+-+-+-+ 10. 1 row in set (0.00 sec) 在上,將設(shè)為自己的主服務(wù)器1. MySQL>
22、;change master to master_host='',master_user='replication',master_password='replication',master_log_file='MySQL-bin.000003',master_log_pos=374; 2. Query OK, 0 rows affected (0.05 sec) 3. 4. MySQL>
23、start slave; 5. Query OK, 0 rows affected (0.00 sec) 6. 7. MySQL> show slave statusG 8. * 1. row * 9. Slave_IO_State: W
24、aiting for master to send event 10. Master_Host: 11. Master_User:
25、 replication 12. Master_Port: 3306 13. Connect_Retry: 60 14.
26、160; Master_Log_File: MySQL-bin.000003 15. Read_Master_Log_Pos: 374 16. Relay_Log_File: MySQL-master1-rela
27、y-bin.000002 17. Relay_Log_Pos: 235 18. Relay_Master_Log_File: MySQL-bin.000003 19. Sl
28、ave_IO_Running: Yes 20. Slave_SQL_Running: Yes 21. Replicate_Do_DB: 22. Replicate_Igno
29、re_DB: 23. Replicate_Do_Table: 24. Replicate_Ignore_Table: 25. Replicate_Wild_Do_Table: 26. Replicate_Wild_Ignore_Table: 27. &
30、#160; Last_Errno: 0 28. Last_Error: 29.
31、0; Skip_Counter: 0 30. Exec_Master_Log_Pos: 374 31. Relay_Log_Space: 235 32.
32、; Until_Condition: None 33. Until_Log_File: 34. Until_Log_Pos: 0
33、0;35. Master_SSL_Allowed: No 36. Master_SSL_CA_File: 37. Master_SSL_CA_Path: 38.
34、; Master_SSL_Cert: 39. Master_SSL_Cipher: 40. Master_SSL_Key: 41. &
35、#160; Seconds_Behind_Master: 0 42. 1 row in set (0.00 sec) 4、MySQL同步測試如上述均正確配置,現(xiàn)在任何一臺MySQL上更新數(shù)據(jù)都會同步到另一臺MySQL,MySQL同步在此不再演示二、keepalived安裝及配置1、服務(wù)器上keepalived安裝及配置安裝keepalived1. #tar zxvf keepalived-.tar.gz 2. #cd keepalived
36、- 3. #./configure -prefix=/usr/local/keepalived -with-kernel-dir=/usr/src/kernels/-164.el5-i686 4. #make && make install 配置keepalived我們自己在新建一個配置文件,默認情況下keepalived啟動時會去/etc/keepalived目錄下找配置文件1. #mkdir /etc/keepalived 2. #vi /etc/keepal
37、ived/keepalived.conf 3. ! Configuration File for keepalived 4. global_defs 5. notification_email 6. luwenju 7. 8.
38、60;notification_email_from luwenju 9.10. smtp_connect_timeout 30 11. router_id MySQL-ha 12. 13. 14. vrrp_instance VI_1 15.
39、 state BACKUP #兩臺配置此處均是BACKUP 16. interface eth0 17. virtual_router_id 51 18. priority 100 #優(yōu)先級,另一臺改為90 19. &
40、#160; advert_int 1 20. nopreempt #不搶占,只在優(yōu)先級高的機器上設(shè)置即可,優(yōu)先級低的機器不設(shè)置 21. authentication 22. auth_type PASS 23. auth_pass 111
41、1 24. 25. virtual_ipaddress 26. 27. 28. 29. 30. virtual_server 3306 31.
42、0; delay_loop 2 #每個2秒檢查一次real_server狀態(tài) 32. lb_algo wrr #LVS算法 33. lb_kind DR #LVS模式 34. persisten
43、ce_timeout 60 #會話保持時間 35. protocol TCP 36. real_server 3306 37. weight 3 38. notify_down /usr/local/My
44、SQL/bin/MySQL.sh #檢測到服務(wù)down后執(zhí)行的腳本 39. TCP_CHECK 40. connect_timeout 10 #連接超時時間 41. nb_get_retry 3 #重連
45、次數(shù) 42. delay_before_retry 3 #重連間隔時間 43. connect_port 3306 #健康檢查端口 44. 45. 編寫檢測服務(wù)down后所要執(zhí)行的腳本1. #vi /
46、usr/local/MySQL/bin/MySQL.sh 2. #!/bin/sh 3. pkill keepalived 4. #chmod +x /usr/local/MySQL/bin/MySQL.sh 注:此腳本是上面配置文件notify_down選項所用到的,keepalived使用notify_down選項來檢查real_server的服務(wù)狀態(tài),當(dāng)發(fā)現(xiàn)real_server服務(wù)故障時,便觸發(fā)此腳本;我們可以看到,腳本就一個命令,通過pkill keepalived強制殺死keepalived進程,從而實現(xiàn)了
47、MySQL故障自動轉(zhuǎn)移。另外,我們不用擔(dān)心兩個MySQL會同時提供數(shù)據(jù)更新操作,因為每臺MySQL上的keepalived的配置里面只有本機MySQL的IP+VIP,而不是兩臺MySQL的IP+VIP啟動keepalived1. #/usr/local/keepalived/sbin/keepalived D 2. #ps -aux | grep keepalived 測試找一臺局域網(wǎng)PC,然后去ping MySQL的VIP,這時候MySQL的VIP是可以ping的通的停止MySQL服務(wù),看keepalived
48、健康檢查程序是否會觸發(fā)我們編寫的腳本2、上keepalived安裝及配置安裝keepalived1. #tar zxvf keepalived-.tar.gz 2. #cd keepalived- 3. #./configure -prefix=/usr/local/keepalived -with-kernel-dir=/usr/src/kernels/-164.el5-i686 4. #make && make install 配置keepalive
49、d這臺配置和上面基本一樣,但有三個地方不同:優(yōu)先級為90、無搶占設(shè)置、real_server為本機IP1. #mkdir /etc/keepalived 2. #vi /etc/keepalived/keepalived.conf 3. ! Configuration File for keepalived 4. global_defs 5. notification_email 6.
50、60; luwenju 7. 8. notification_email_from luwenju 9.10. smtp_connect_timeout 30 11. router_id MySQL-ha 12.
51、0; 13. 14. vrrp_instance VI_1 15. state BACKUP 16. interface eth0 17. virtual_router_id 51 18.
52、;priority 90 19. advert_int 1 20. authentication 21. auth_type PASS 22. auth_pass 1111 23.
53、160;24. virtual_ipaddress 25. 26. 27. 28. 29. virtual_server 3306 30. delay_loop 2
54、 31. lb_algo wrr 32. lb_kind DR 33. persistence_timeout 60 34. protocol TCP 35. real_server
55、0;3306 36. weight 3 37. notify_down /usr/local/MySQL/bin/MySQL.sh 38. TCP_CHECK 39. connect_timeout 10 40.
56、0; nb_get_retry 3 41. delay_before_retry 3 42. connect_port 3306 43. 44. 編寫檢測服務(wù)down后所要執(zhí)行的腳本1. #vi /usr/local/MySQL/bin
57、/MySQL.sh 2. #!/bin/sh 3. pkill keepalived 4. #chmod +x /usr/local/MySQL/bin/MySQL.sh 5. 6. 啟動keepalived 7. #/usr/local/keepalived/sbin/keepalived D 8. #ps -aux | grep keepalived 測試停止MySQL服務(wù),看keepalived健康檢查程序是否會觸發(fā)我們編寫的腳本三、測試MySQL遠程登錄測試我們找一臺安裝有MySQL客戶端的windows,然后登錄VIP,看是否能登錄,在登錄之兩臺MySQL服務(wù)器都要授權(quán)允許從遠程登錄1. MySQL> grant all privileges on *.* to 'root''%'
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保護地球環(huán)境的議論文寫作引導(dǎo)14篇
- 汽車維修服務(wù)承包合同協(xié)議
- 家鄉(xiāng)的四季美景描寫與抒情散文結(jié)合的文章(10篇)
- 2025年重組人腫瘤壞死因子(TNF)項目提案報告
- 夢想起航夢想的力量議論文15篇范文
- 2025年北京市事業(yè)單位招聘考試綜合類專業(yè)能力測試試卷(新聞類)
- 2025年一建《機電工程管理與實務(wù)》考試施工現(xiàn)場管理模擬試題解析實戰(zhàn)題庫
- 2025年電子商務(wù)師(高級)考試試卷:電子商務(wù)智能客服系統(tǒng)案例分析與應(yīng)用
- 軟件產(chǎn)業(yè)園區(qū)發(fā)展戰(zhàn)略規(guī)劃及實施路徑研究報告
- 2025年采購師(中級)考試試卷:采購合同管理實務(wù)案例分析實戰(zhàn)案例分析實戰(zhàn)案例分析實戰(zhàn)解析
- 福建省廈門市2023-2024學(xué)年高二上學(xué)期期末考試英語試題(解析版)
- 堡坎施工方案
- 二年級下冊科學(xué)課程綱要
- 煤炭行業(yè)的供應(yīng)鏈管理與物流運作
- 《霍亂時期的愛情》
- 出科小結(jié)口腔預(yù)防
- 關(guān)于殘疾人法律知識講座
- 調(diào)解理論與實務(wù)
- 高速公路改造與提升工作
- 食品化學(xué)課件(十章全)
- 光刻機行業(yè)深度報告博采眾星之光點亮皇冠明珠-華福證券
評論
0/150
提交評論