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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

4、cho "*/5 * * * * /usr/sbin/ntpdate YOUR NTP_SERVER_IP" >> /var/cron/root2、如何限制從服務(wù)器只讀?在從服務(wù)器上,/etc/fmysqld段中添加下行read-only=ON注意:僅能限制那不具有SUPER權(quán)限用戶無(wú)法執(zhí)行寫(xiě)操作;想限制所有用戶:mysql> FLUSH TABLES WITH READ LOCK;3、如何主從復(fù)制時(shí)的事務(wù)安全?在主服務(wù)器上配置:sync_binlog=11.1.2 導(dǎo)入數(shù)據(jù)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)在從服務(wù)器上導(dǎo)入:rootSlave # mysql < all.sql(1)導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)(包括數(shù)據(jù)庫(kù)中的數(shù)據(jù))    mysqldump -u username -p dbname > dbname.sql &

6、#160;  (2)導(dǎo)出數(shù)據(jù)庫(kù)結(jié)構(gòu)(不含數(shù)據(jù))    mysqldump -u username -p -d dbname > dbname.sql    (3)導(dǎo)出數(shù)據(jù)庫(kù)中的某張數(shù)據(jù)表(包含數(shù)據(jù))    mysqldump -u username -p dbname tablename > tablename.sql   (4)導(dǎo)出數(shù)據(jù)庫(kù)中的某張數(shù)據(jù)表的表結(jié)構(gòu)(不含數(shù)據(jù))mysqldump -u username -p -d dbname tablename > tablename.s

7、ql   mysqldump -uroot -p unicom_document > uni.sql創(chuàng)建數(shù)據(jù)庫(kù)之后執(zhí)行mysql -u root -p unicom_document < uni.sql或者 windows 下use unicom_documentmysql> source   d:/myprogram/database/ unicom_document.sql;1.1.3 配置復(fù)制在兩個(gè)主節(jié)點(diǎn)上分別執(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ā)出該語(yǔ)句:復(fù)制代碼 代碼如下:mysql> FLUSH TABLES WITH READ LOCK;2. 仍然加鎖時(shí),執(zhí)行該命令(或它的變體):復(fù)制代碼 代碼如下:shell> tar zcf /tmp/backup.tar.gz /var/lib/mysql并拷到從服務(wù)器上。3. 發(fā)出該語(yǔ)句并且確保記錄了以后用到的輸出:復(fù)制代碼 代碼如下:mys

9、ql>SHOW MASTER STATUS;4. 釋放鎖:復(fù)制代碼 代碼如下:mysql> UNLOCK TABLES;兩個(gè)主節(jié)點(diǎn)配置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;兩個(gè)從節(jié)點(diǎn)配置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é)點(diǎn)的MySQL

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

13、重新安裝數(shù)據(jù)1.3.2 插入之后就讀取的情況處理數(shù)據(jù)源分為讀數(shù)據(jù)源、寫(xiě)數(shù)據(jù)源兩種。 如果插入完之后就讀取使用寫(xiě)數(shù)據(jù)源,只有待辦列表、打開(kāi)表單使用讀數(shù)據(jù)源。使用f5作為雙主的VIP-WRITE , 采用如果有一臺(tái)機(jī)器M-A出現(xiàn)問(wèn)題,然后再轉(zhuǎn)發(fā)到另外的M-B,所有的從庫(kù)也通過(guò)VIP-READ進(jìn)行配置從主庫(kù)進(jìn)行讀寫(xiě),。Mysql數(shù)據(jù)庫(kù)使用5.6的GTID防止事物不一致。1.3.3 雙主的故障切換錯(cuò)誤日志: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 主從不一致同步方法因?yàn)槭峭ㄟ^(guò)GTID來(lái)進(jìn)行復(fù)制的,也 需要跳過(guò)這個(gè)事務(wù)從而繼續(xù)復(fù)制,這個(gè)事務(wù)可以到主上的binlog里面查看:因?yàn)椴恢勒夷膫€(gè)GTID上出錯(cuò),所以也不知道如何跳過(guò)哪個(gè)GTID。但在show slave status里的信息里可以找到在執(zhí)行Master里的POS:151 Exec_Master_Log_Pos: 151的時(shí)候報(bào)錯(cuò),所以通過(guò)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'/*!*/;找到這個(gè)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里設(shè)置gtid_nextQuery OK, 0 rows affected (0.01 sec)mysql> begin; #開(kāi)啟一個(gè)事務(wù)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設(shè)置回來(lái)Query OK, 0 rows affected (0.00

17、 sec)mysql> start slave; #開(kāi)啟復(fù)制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;如果很多地方不一致,需要重新導(dǎo)入數(shù)據(jù)庫(kù)1.3.5 注意show slave statusG; Worker 3 failed executing transa

溫馨提示

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

評(píng)論

0/150

提交評(píng)論