mysql雙主雙從測試環(huán)境的安裝部署_第1頁
mysql雙主雙從測試環(huán)境的安裝部署_第2頁
mysql雙主雙從測試環(huán)境的安裝部署_第3頁
mysql雙主雙從測試環(huán)境的安裝部署_第4頁
mysql雙主雙從測試環(huán)境的安裝部署_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1 數據mysql主機地址10.0.209.48(主)10.0.209.4910.0.209.5010.0.209.51(主)mysql服務器5.5.27安裝路徑1.1 雙主備庫復制方案這種配置方式當主節(jié)點出現問題, 所有的從節(jié)點將不能進行同步負載均衡設備VIP-ReadVIP-Write寫訪問寫訪問Master-AMaster-B 讀訪問讀訪問復制復制Slave-BSlave-A .優(yōu)點:保證主節(jié)點的網絡不參與多次的復制, master-B可以作為備份1. 如果master-a宕機, f5切換到master-b,當master-a啟動后,原有連接還在master-b上,新建連接在master

2、-a上。2. 如果master-b宕機,讀的數據庫將不能實時同步,當master-b啟動后, 數據連續(xù)同步,不會出現不同步的情況。3. 需要保證所有復制關系才能正常運行。1.1.1 MySQL5.5安裝過程1. 使用ntp保證時間一致2. 新建 /etc/f 文件, 配置相應路徑3. 使用 mysql_install_db 重新安裝數據4. 修改 mysql 密碼 mysqladmin -u root password防止主鍵沖突主節(jié)點1auto_increment_increment=2 # 步長auto_increment_offset=1 #初始值sync_binlog=1 #防止不同步

3、, 一定要有,先一個停止服務,然后插入另一個,可能不同步innodb_flush_log_at_trx_commit=2主節(jié)點2auto_increment_increment=2 # 步長auto_increment_offset=2 #初始值sync_binlog=1 #防止不同步innodb_flush_log_at_trx_commit=2從節(jié)點server-id = 323307log_slave_updates = 1auto_increment_increment=2auto_increment_offset=2read-only(保證只讀)1、主從服務器時間要同步(ntp):e

4、cho "*/5 * * * * /usr/sbin/ntpdate YOUR NTP_SERVER_IP" >> /var/cron/root2、如何限制從服務器只讀?在從服務器上,/etc/fmysqld段中添加下行read-only=ON注意:僅能限制那不具有SUPER權限用戶無法執(zhí)行寫操作;想限制所有用戶:mysql> FLUSH TABLES WITH READ LOCK;3、如何主從復制時的事務安全?在主服務器上配置:sync_binlog=11.1.2 導入數據MariaDB (none)> CREATE DATABASE testdb

5、;rootMaster # mysqldump -all-databases -flush-logs  -master-data=1 -lock-all-tables > all.sql  /將此文件傳給新Slave.rootMaster # scp all.sql root172.16.41.2:/root/(2)在從服務器上導入:rootSlave # mysql < all.sql(1)導出整個數據庫(包括數據庫中的數據)    mysqldump -u username -p dbname > dbname.sql &

6、#160;  (2)導出數據庫結構(不含數據)    mysqldump -u username -p -d dbname > dbname.sql    (3)導出數據庫中的某張數據表(包含數據)    mysqldump -u username -p dbname tablename > tablename.sql   (4)導出數據庫中的某張數據表的表結構(不含數據)mysqldump -u username -p -d dbname tablename > tablename.s

7、ql   mysqldump -uroot -p unicom_document > uni.sql創(chuàng)建數據庫之后執(zhí)行mysql -u root -p unicom_document < uni.sql或者 windows 下use unicom_documentmysql> source   d:/myprogram/database/ unicom_document.sql;1.1.3 配置復制在兩個主節(jié)點上分別執(zhí)行:grant replication slave on *.* to repuser'%' ident

8、ified by 'repuser'flush privileges;#情況日志,查看master的狀態(tài)stop slave;reset master;reset slave;show master status;1. 發(fā)出該語句:復制代碼 代碼如下:mysql> FLUSH TABLES WITH READ LOCK;2. 仍然加鎖時,執(zhí)行該命令(或它的變體):復制代碼 代碼如下:shell> tar zcf /tmp/backup.tar.gz /var/lib/mysql并拷到從服務器上。3. 發(fā)出該語句并且確保記錄了以后用到的輸出:復制代碼 代碼如下:mys

9、ql>SHOW MASTER STATUS;4. 釋放鎖:復制代碼 代碼如下:mysql> UNLOCK TABLES;兩個主節(jié)點配置CHANGE MASTER TO MASTER_HOST='10.0.209.48', MASTER_PORT=3316,MASTER_USER='repuser', MASTER_PASSWORD='repuser', MASTER_LOG_FILE='mysql-bin.000057', MASTER_LOG_POS= 13895;CHANGE MASTER TO MASTER_HO

10、ST='10.0.209.51', MASTER_PORT=3316,MASTER_USER='repuser', MASTER_PASSWORD='repuser', MASTER_LOG_FILE='mysql-bin.000011', MASTER_LOG_POS= 1554;兩個從節(jié)點配置CHANGE MASTER TO MASTER_HOST='10.0.209.51', MASTER_PORT=3316,MASTER_USER='repuser', MASTER_PASSWORD=

11、9;repuser', MASTER_LOG_FILE='mysql-bin.000011', MASTER_LOG_POS= 1231202;CHANGE MASTER TO MASTER_HOST='10.0.209.51', MASTER_PORT=3316,MASTER_USER='repuser', MASTER_PASSWORD='repuser', MASTER_LOG_FILE='mysql-bin.000011', MASTER_LOG_POS= 1231202;#在所有從節(jié)點的MySQL

12、上執(zhí)行:start slave;show slave statusGmysql> show processlistG1.2 MySQL Cluster集群方案使用mysql cluster 和 mysql fabric 來管理集群。1.3 問題解決方案1. 使用F5向M1上定向, 如果有問題轉到M2, 可以2. 使用mysql proxy3. 使用mysql cluster , 不建議,不清楚4. 是否能通過F5各分擔50%的訪問,不建議,復制問題5. 使用MMM, MHA6. 使用mysql5.6 gtid , 可以1.3.1 Mysql安裝錯誤使用 mysql_install_db

13、重新安裝數據1.3.2 插入之后就讀取的情況處理數據源分為讀數據源、寫數據源兩種。 如果插入完之后就讀取使用寫數據源,只有待辦列表、打開表單使用讀數據源。使用f5作為雙主的VIP-WRITE , 采用如果有一臺機器M-A出現問題,然后再轉發(fā)到另外的M-B,所有的從庫也通過VIP-READ進行配置從主庫進行讀寫,。Mysql數據庫使用5.6的GTID防止事物不一致。1.3.3 雙主的故障切換錯誤日志:Got fatal error 1236 from master when reading data from binary log: 'Could not find first log f

14、ile name in binary log index file'使用mysql5.6CHANGE MASTER TO MASTER_HOST='xxx', MASTER_AUTO_POSITION1.3.4 主從不一致同步方法因為是通過GTID來進行復制的,也 需要跳過這個事務從而繼續(xù)復制,這個事務可以到主上的binlog里面查看:因為不知道找哪個GTID上出錯,所以也不知道如何跳過哪個GTID。但在show slave status里的信息里可以找到在執(zhí)行Master里的POS:151 Exec_Master_Log_Pos: 151的時候報錯,所以通過mysql

15、binlog找到了GTID:# at 151#150810 22:57:45 server id 1 end_log_pos 199 CRC32 0x5e14d88f GTID commit=yesSET SESSION.GTID_NEXT= '4e659069-3cd8-11e5-9a49-001c4270714e:1'/*!*/;找到這個GTID之后執(zhí)行: 必須按照下面順序執(zhí)行 mysql> stop slave;Query OK, 0 rows affected (0.01 sec)mysql> set session gtid_next='4e659

16、069-3cd8-11e5-9a49-001c4270714e:1' #在session里設置gtid_nextQuery OK, 0 rows affected (0.01 sec)mysql> begin; #開啟一個事務Query OK, 0 rows affected (0.00 sec)mysql> commit;Query OK, 0 rows affected (0.01 sec)mysql> SET SESSION GTID_NEXT = AUTOMATIC; #把gtid_next設置回來Query OK, 0 rows affected (0.00

17、 sec)mysql> start slave; #開啟復制Query OK, 0 rows affected (0.01 sec)stop slave;set session gtid_next='3877a6bb-2f68-11e5-82a9-008cfa052c24:112' begin; commit;SET SESSION GTID_NEXT = AUTOMATIC; start slave; show slave statusG;如果很多地方不一致,需要重新導入數據庫1.3.5 注意show slave statusG; Worker 3 failed executing transa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論