偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

實現(xiàn)MySQL雙機熱備的實際操作步驟

數(shù)據(jù)庫 MySQL
以下的文章主要是介紹實現(xiàn)MySQL雙機熱備的實際操作步驟,瀏覽此文希望會給你帶來一些幫助在此方面。以下就好似文章的主要內(nèi)容。

MySQL數(shù)據(jù)庫與PHP搭配是實現(xiàn)MySQL雙機熱備的最佳組合,其原理主要是通過對日志的更新,用MySQL數(shù)據(jù)庫(和PHP搭配之最佳組合)的SELECT的文件來操作相關(guān)功能,備機實時抓取主機的更新日志。

當然這只是其原理,實際上并不需要我們自己去處理日志,明白了原理,實施就比較容易理解了。

 

 

這樣,在主機端需要開一個賬號,這個賬號是備機用來抓取主機的更新日志。需要有文件訪問權(quán)限,在早期,剛開始實現(xiàn)MySQL雙機熱備時,就是用的文件權(quán)限。

 

從MySQL(和PHP搭配之最佳組合)4 開始,添加了一個專門的權(quán)限,用來做熱備,這個權(quán)限本質(zhì)應該還是文件讀取權(quán)限,但是應該只能用來讀取日志,防止一些漏洞。

 

對于客戶端來說,就是設(shè)置這個賬號,密碼,主服務器地址,還有要同步的數(shù)據(jù)庫名。這只是單向的,再配置一個對等的同步通道,就支持雙向的熱備了。

 

通過熱備,還可以備端從主端load全部數(shù)據(jù)。這個在同步出錯時可以使用。load權(quán)限是一個單獨的MySQL(和PHP搭配之最佳組合)權(quán)限,這樣跟熱備有關(guān)的MySQL(和PHP搭配之最佳組合)的權(quán)限有2個,日志抓取和數(shù)據(jù)載入(REPLICATION SLAVE, REPLICATION CLIENT )

 

在服務器端開備份賬號

 

GRANT REPLICATION SLAVE , REPLICATION CLIENT ON * . * TO "backup"@ "192.168.1.2"IDENTIFIED BY "*****"WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ;

 

在服務器端打開日志功能

/etc/MySQL(和PHP搭配之最佳組合)/my.cnf

[MySQL雙機熱備(和PHP搭配之最佳組合)d]

 

 

  1. server-id = 1 
  2. log-bin  
  3. binlog-do-db = pa 
  4. max_binlog_size = 104857600 

 

 

這樣,MySQL(和PHP搭配之最佳組合)會在數(shù)據(jù)目錄放置pa這個庫的更新日志。等待備機來抓取。

 

 

客戶端設(shè)置:

 

/etc/MySQL(和PHP搭配之最佳組合)/my.cnf

 

 

  1. master-host=192.168.1.1  
  2. master-user=backup 
  3. master-password=12345 
  4. master-port=3306 
  5. master-connect-retry=60 

 

 

replicate-do-db=pa 客戶端會到服務器抓取pa庫的更新日志,來更新本地的pa庫。

 

 

幾個跟熱備有關(guān)的MySQL(和PHP搭配之最佳組合)命令:(需要在MySQL(和PHP搭配之最佳組合)命令行界面或query )

 

stop slave #停止同步

start slave #開始同步,從日志終止的位置開始更新。

 

SET SQL_LOG_BIN=0|1 #主機端運行,需要super權(quán)限,用來開停日志,隨意開停,會造成主機從機數(shù)據(jù)不一致,造成錯誤

 

SET GLOBAL SQL_SLAVE_SKIP_COUNTER=n # 客戶端運行,用來跳過幾個事件,只有當同步進程出現(xiàn)錯誤而停止的時候才可以執(zhí)行。

 

RESET MASTER #主機端運行,清除所有的日志,這條命令就是原來的FLUSH MASTER

 

RESET SLAVE #從機運行,清除日志同步位置標志,并重新生成master.info

 

雖然重新生成了master.info,但是并不起用,最好,將從機的MySQL(和PHP搭配之最佳組合)進程重啟一下,

 

LOAD TABLE tblname FROM MASTER #從機運行,從主機端重讀指定的表的數(shù)據(jù),每次只能讀取一個,受timeout時間限制,需要調(diào)整timeout時間。執(zhí)行這個命令需要同步賬號有reload和super權(quán)限。以及對相應的庫有select權(quán)限。如果表比較大,要增加net_read_timeout 和 net_write_timeout的值

 

LOAD DATA FROM MASTER #從機執(zhí)行,從主機端重新讀入所有的數(shù)據(jù)。執(zhí)行這個命令需要同步賬號有reload和super權(quán)限。以及對相應的庫有select權(quán)限。如果表比較大,要增加net_read_timeout 和 net_write_timeout的值

 

CHANGE MASTER TO master_def_list #在線改變一些主機設(shè)置,多個用逗號間隔,比如

 

 

  1. CHANGE MASTER TO  
  2. MASTER_HOST='master2.mycompany.com',  
  3. MASTER_USER='replication',  
  4. MASTER_PASSWORD='bigs3cret'  

 

 

MASTER_POS_WAIT() #從機運行

 

SHOW MASTER STATUS #主機運行,看日志導出信息

 

SHOW SLAVE HOSTS #主機運行,看連入的從機的情況。

 

 

  1. SHOW SLAVE STATUS (slave)   
  2. SHOW MASTER LOGS (master)   
  3. SHOW BINLOG EVENTS [ IN 'logname' ] [ FROM pos ] [ LIMIT [offset,] rows ]   
  4. PURGE [MASTER] LOGS TO 'logname' ; PURGE [MASTER] LOGS BEFORE 'date' 

 

 

 

 

 

下面是Q&A時間:

 

MySQL雙機熱備怎么配置?照上面再配置一個反向的更新就行了。

不用擔心本機的更改會回環(huán)回來,因為server_id就是識別這個用的.

 

多機熱備怎么做,幾臺MySQL(和PHP搭配之最佳組合)服務器就像首尾相連的蛇,組成一個環(huán)裝,就可以了,而且還可以作幾個單向的更新,用以分擔select這樣的讀取操作的壓力,因為MySQL(和PHP搭配之最佳組合)操作中大部分是

 

 

【編輯推薦】

  1. MySQL字符的編碼轉(zhuǎn)換問題詳解
  2. MySQL QueryCache原理經(jīng)典講解
  3. MySQL MyISAM的引擎和InnoDB引擎的比較
  4. MySQL參數(shù)設(shè)置如何解決瓶頸效應?
  5. MySQL force Index 強制索引概述

 

 

 

責任編輯:佚名 來源: 博客園
相關(guān)推薦

2010-05-14 16:49:43

MySQL 數(shù)據(jù)庫

2010-05-26 14:06:44

MySQL查詢

2010-05-18 14:35:06

MySQL觸發(fā)器

2010-03-12 15:29:19

Pythonexe

2010-05-12 13:45:25

Mysql 復制設(shè)置

2010-05-17 16:52:14

MySQL limit

2010-05-20 15:39:14

MySQL支持中文

2010-05-27 10:35:09

查詢MySQL數(shù)據(jù)

2010-06-01 15:54:46

MySQL-pytho

2010-05-28 14:42:00

MySQL使用備忘

2010-06-09 11:40:32

MySQL SQL 語

2010-05-13 16:21:58

2010-05-13 17:00:32

MySQL啟動方法

2010-04-20 11:06:33

Oracle索引

2010-04-21 10:23:13

Oracle實現(xiàn)

2010-05-28 18:16:43

MySQL 操作日志

2017-06-16 10:39:51

雙機熱備軟件

2010-05-27 14:35:25

MySQL批量導入

2010-06-10 09:05:37

MySQL自動遞增字段

2010-06-12 10:41:23

MySQL修改數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號