Mysql主從配置,實(shí)現(xiàn)讀寫分離

轉(zhuǎn)載:https://www.cnblogs.com/alvin_xp/p/4162249.html

Mysql主從配置撩银,實(shí)現(xiàn)讀寫分離

大型網(wǎng)站為了軟解大量的并發(fā)訪問(wèn)给涕,除了在網(wǎng)站實(shí)現(xiàn)分布式負(fù)載均衡,遠(yuǎn)遠(yuǎn)不夠额获。到了數(shù)據(jù)業(yè)務(wù)層够庙、數(shù)據(jù)訪問(wèn)層,如果還是傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)抄邀,或者只是單單靠一臺(tái)服務(wù)器扛耘眨,如此多的數(shù)據(jù)庫(kù)連接操作,數(shù)據(jù)庫(kù)必然會(huì)崩潰境肾,數(shù)據(jù)丟失的話剔难,后果更是 不堪設(shè)想。這時(shí)候奥喻,我們會(huì)考慮如何減少數(shù)據(jù)庫(kù)的聯(lián)接钥飞,一方面采用優(yōu)秀的代碼框架,進(jìn)行代碼的優(yōu)化衫嵌,采用優(yōu)秀的數(shù)據(jù)緩存技術(shù)如:memcached,如果資金豐厚的話读宙,必然會(huì)想到假設(shè)服務(wù)器群,來(lái)分擔(dān)主數(shù)據(jù)庫(kù)的壓力楔绞。Ok切入今天微博主題结闸,利用MySQL主從配置,實(shí)現(xiàn)讀寫分離酒朵,減輕數(shù)據(jù)庫(kù)壓力桦锄。這種方式,在如今很多網(wǎng)站里都有使用蔫耽,也不是什么新鮮事情结耀,今天總結(jié)一下,方便大家學(xué)習(xí)參考一下匙铡。

概述:搭設(shè)一臺(tái)Master服務(wù)器(win8.1系統(tǒng)图甜,Ip:192.168.0.104),搭設(shè)兩臺(tái)Slave服務(wù)器(虛擬機(jī)——一臺(tái)Ubuntu鳖眼,一臺(tái) Windows Server 2003)

原理:主服務(wù)器(Master)負(fù)責(zé)網(wǎng)站NonQuery操作黑毅,從服務(wù)器負(fù)責(zé)Query操作,用戶可以根據(jù)網(wǎng)站功能模特性塊固定訪問(wèn)Slave服務(wù)器钦讳,或者自己寫個(gè)池或隊(duì)列矿瘦,自由為請(qǐng)求分配從服務(wù)器連接枕面。主從服務(wù)器利用MySQL的二進(jìn)制日志文件,實(shí)現(xiàn)數(shù)據(jù)同步缚去。二進(jìn)制日志由主服務(wù)器產(chǎn)生潮秘,從服務(wù)器響應(yīng)獲取同步數(shù)據(jù)庫(kù)抖誉。

具體實(shí)現(xiàn):

1喇完、在主從服務(wù)器上都裝上MySQL數(shù)據(jù)庫(kù),windows系統(tǒng)鄙人安裝的是mysql_5.5.25.msi版本层坠,Ubuntu安裝的是mysql-5.6.22-linux-glibc2.5-i686.tar

windows安裝mysql就不談了衬衬,一般地球人都應(yīng)該會(huì)。鄙人稍微說(shuō)一下Ubuntu的MySQL安裝改橘,我建議不要在線下載安裝滋尉,還是離線安裝的好。大家可以參考??http://www.linuxidc.com/Linux/2013-01/78716.htm這位不知道大哥還是姐妹飞主,寫的挺好按照這個(gè)就能裝上狮惜。在安裝的時(shí)候可能會(huì)出現(xiàn)幾種現(xiàn)象,大家可以參考解決一下:

(1)如果您不是使用root用戶登錄碌识,建議 su - root?切換到Root用戶安裝碾篡,那就不用老是 sudo 了。

(2)存放解壓的mysql 文件夾筏餐,文件夾名字最好改成mysql

(3)在./support-files/mysql.server start 啟動(dòng)MySQL的時(shí)候开泽,可能會(huì)出現(xiàn)一個(gè)警告,中文意思是啟動(dòng)服務(wù)運(yùn)行讀文件時(shí)魁瞪,忽略了my.cnf文件穆律,那是因?yàn)閙y.cnf的文件權(quán)限有問(wèn)題,mysql會(huì)認(rèn)為該文件有危險(xiǎn)不會(huì)執(zhí)行导俘。但是mysql還會(huì)啟動(dòng)成功峦耘,但如果下面配置從服務(wù)器參數(shù)修改my.cnf文件的時(shí)候,你會(huì)發(fā)現(xiàn)文件改過(guò)了旅薄,但是重啟服務(wù)時(shí)辅髓,修改過(guò)后的配置沒(méi)有執(zhí)行,而且您 list一下mysql的文件夾下會(huì)發(fā)現(xiàn)很多.my.cnf.swp等中間文件少梁。這都是因?yàn)镸ySQL啟動(dòng)時(shí)沒(méi)有讀取my.cnf的原因洛口。這時(shí)只要將my.cnf的文件權(quán)限改成my_new.cnf的權(quán)限一樣就Ok,命令:chmod 644 my.cnf就Ok

(4)Ubuntu中修改文檔內(nèi)容沒(méi)有Vim凯沪,最好把Vim 裝上绍弟,apt-get install vim,不然估計(jì)會(huì)抓狂。

這時(shí)候我相信MySQL應(yīng)該安裝上去了著洼。

2樟遣、配置Master主服務(wù)器

(1)在Master MySQL上創(chuàng)建一個(gè)用戶‘repl’而叼,并允許其他Slave服務(wù)器可以通過(guò)遠(yuǎn)程訪問(wèn)Master,通過(guò)該用戶讀取二進(jìn)制日志豹悬,實(shí)現(xiàn)數(shù)據(jù)同步葵陵。

1 mysql>create user repl;//創(chuàng)建新用戶

2 //repl用戶必須具有REPLICATION SLAVE權(quán)限,除此之外沒(méi)有必要添加不必要的權(quán)限瞻佛,密碼為mysql脱篙。說(shuō)明一下192.168.0.%,這個(gè)配置是指明repl用戶所在服務(wù)器伤柄,這里%是通配符绊困,表示192.168.0.0-192.168.0.255的Server都可以以repl用戶登陸主服務(wù)器。當(dāng)然你也可以指定固定Ip适刀。

3 mysql> GRANT REPLICATION SLAVE ON *.* TO'repl'@'192.168.0.%'IDENTIFIED BY'mysql';

(2)找到MySQL安裝文件夾修改my.Ini文件秤朗。mysql中有好幾種日志方式,這不是今天的重點(diǎn)笔喉。我們只要啟動(dòng)二進(jìn)制日志log-bin就ok取视。

?在[mysqld]下面增加下面幾行代碼

1 server-id=1//給數(shù)據(jù)庫(kù)服務(wù)的唯一標(biāo)識(shí),一般為大家設(shè)置服務(wù)器Ip的末尾號(hào)

2 log-bin=master-bin

3 log-bin-index=master-bin.index

(3)查看日志

mysql> SHOW MASTER STATUS;

+-------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+-------------------+----------+--------------+------------------+

|?master-bin.000001?| 1285 | | |

+-------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

重啟MySQL服務(wù)

3常挚、配置Slave從服務(wù)器(windows)

(1)找到MySQL安裝文件夾修改my.ini文件作谭,在[mysqld]下面增加下面幾行代碼

?my.cnf 配置

1 [mysqld]

2 server-id=2

3 relay-log-index=slave-relay-bin.index

4 relay-log=slave-relay-bin

重啟MySQL服務(wù)

(2)連接Master

change master to master_host='192.168.0.104', //Master 服務(wù)器Ip

master_port=3306,

master_user='repl',

master_password='mysql',?

master_log_file='master-bin.000001',//Master服務(wù)器產(chǎn)生的日志

master_log_pos=0;

(3)啟動(dòng)Slave

start slave;

4、Slave從服務(wù)器(Ubuntu)

(1)找到MySQL安裝文件夾修改my.cnf文件,vim my.cnf

s


(2)?./support-files/myql.server restart?重啟MySQL服務(wù) ?, ?./bin/mysql?進(jìn)入MySQL命令窗口?

(3)連接Master

change master to master_host='192.168.0.104', //Master 服務(wù)器Ip

master_port=3306,

master_user='repl',

master_password='mysql',

master_log_file='master-bin.000001',//Master服務(wù)器產(chǎn)生的日志

master_log_pos=0;

(4)啟動(dòng)Slave

start slave;

OK所有配置都完成了奄毡,這時(shí)候大家可以在Master Mysql 中進(jìn)行測(cè)試了折欠,因?yàn)槲覀儽O(jiān)視的時(shí)Master mysql ?所有操作日志,所以吼过,你的任何改變主服務(wù)器數(shù)據(jù)庫(kù)的操作怨酝,都會(huì)同步到從服務(wù)器上。創(chuàng)建個(gè)數(shù)據(jù)庫(kù)那先,表試試吧农猬。。售淡。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末斤葱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子揖闸,更是在濱河造成了極大的恐慌揍堕,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汤纸,死亡現(xiàn)場(chǎng)離奇詭異衩茸,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)贮泞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門楞慈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)幔烛,“玉大人,你說(shuō)我怎么就攤上這事囊蓝《鲂” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵聚霜,是天一觀的道長(zhǎng)狡恬。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蝎宇,這世上最難降的妖魔是什么弟劲? 我笑而不...
    開(kāi)封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮姥芥,結(jié)果婚禮上兔乞,老公的妹妹穿的比我還像新娘。我一直安慰自己撇眯,他們只是感情好报嵌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布虱咧。 她就那樣靜靜地躺著熊榛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪腕巡。 梳的紋絲不亂的頭發(fā)上玄坦,一...
    開(kāi)封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音绘沉,去河邊找鬼煎楣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛车伞,可吹牛的內(nèi)容都是我干的择懂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼另玖,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼困曙!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起谦去,我...
    開(kāi)封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤慷丽,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后鳄哭,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體要糊,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年妆丘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锄俄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片局劲。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖珊膜,靈堂內(nèi)的尸體忽然破棺而出容握,到底是詐尸還是另有隱情,我是刑警寧澤车柠,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布剔氏,位于F島的核電站,受9級(jí)特大地震影響竹祷,放射性物質(zhì)發(fā)生泄漏谈跛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一塑陵、第九天 我趴在偏房一處隱蔽的房頂上張望感憾。 院中可真熱鬧,春花似錦令花、人聲如沸阻桅。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)嫂沉。三九已至,卻和暖如春扮碧,著一層夾襖步出監(jiān)牢的瞬間趟章,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工慎王, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蚓土,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓赖淤,卻偏偏與公主長(zhǎng)得像蜀漆,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子咱旱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容