當前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]大型網(wǎng)站為了軟解大量的并發(fā)訪問,除了在網(wǎng)站實現(xiàn)分布式負載均衡,遠遠不夠。到了數(shù)據(jù)業(yè)務(wù)層、數(shù)據(jù)訪問層,如果還是傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu),或者只是單單靠一臺服務(wù)器扛,如此多的數(shù)據(jù)庫連接操作,數(shù)據(jù)庫必然會崩潰,數(shù)據(jù)丟

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

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

原理:主服務(wù)器(Master)負責(zé)網(wǎng)站NonQuery操作,從服務(wù)器負責(zé)Query操作,用戶可以根據(jù)網(wǎng)站功能模特性塊固定訪問Slave服務(wù)器,或者自己寫個池或隊列,自由為請求分配從服務(wù)器連接。主從服務(wù)器利用MySQL的二進制日志文件,實現(xiàn)數(shù)據(jù)同步。二進制日志由主服務(wù)器產(chǎn)生,從服務(wù)器響應(yīng)獲取同步數(shù)據(jù)庫。

具體實現(xiàn):

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

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

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

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

(3)在./support-files/mysql.server start 啟動MySQL的時候,可能會出現(xiàn)一個警告,中文意思是啟動服務(wù)運行讀文件時,忽略了my.cnf文件,那是因為my.cnf的文件權(quán)限有問題,mysql會認為該文件有危險不會執(zhí)行。但是mysql還會啟動成功,但如果下面配置從服務(wù)器參數(shù)修改my.cnf文件的時候,你會發(fā)現(xiàn)文件改過了,但是重啟服務(wù)時,修改過后的配置沒有執(zhí)行,而且您 list一下mysql的文件夾下會發(fā)現(xiàn)很多.my.cnf.swp等中間文件。這都是因為MySQL啟動時沒有讀取my.cnf的原因。這時只要將my.cnf的文件權(quán)限改成my_new.cnf的權(quán)限一樣就Ok,命令:chmod 644 my.cnf就Ok

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

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

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

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

1?mysql>create?user?repl;?//創(chuàng)建新用戶
2?//repl用戶必須具有REPLICATION?SLAVE權(quán)限,除此之外沒有必要添加不必要的權(quán)限,密碼為mysql。說明一下192.168.0.%,這個配置是指明repl用戶所在服務(wù)器,這里%是通配符,表示192.168.0.0-192.168.0.255的Server都可以以repl用戶登陸主服務(wù)器。當然你也可以指定固定Ip。
3?mysql>?GRANT?REPLICATION?SLAVE?ON?*.*?TO?'repl'@'192.168.0.%'?IDENTIFIED?BY?'mysql';

(2)找到MySQL安裝文件夾修改my.Ini文件。mysql中有好幾種日志方式,這不是今天的重點。我們只要啟動二進制日志log-bin就ok。

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

1?server-id=1???//給數(shù)據(jù)庫服務(wù)的唯一標識,一般為大家設(shè)置服務(wù)器Ip的末尾號
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]下面增加下面幾行代碼

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)啟動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?進入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)啟動Slave

start slave;

OK所有配置都完成了,這時候大家可以在Master Mysql 中進行測試了,因為我們監(jiān)視的時Master mysql ?所有操作日志,所以,你的任何改變主服務(wù)器數(shù)據(jù)庫的操作,都會同步到從服務(wù)器上。創(chuàng)建個數(shù)據(jù)庫,表試試吧。。。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉