佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 利用MySQL主從配置實(shí)現(xiàn)讀寫(xiě)分離減輕數(shù)據(jù)庫(kù)壓力

利用MySQL主從配置實(shí)現(xiàn)讀寫(xiě)分離減輕數(shù)據(jù)庫(kù)壓力

熱門(mén)標(biāo)簽:鐵路電話系統(tǒng) 地方門(mén)戶網(wǎng)站 AI電銷 服務(wù)外包 Linux服務(wù)器 百度競(jìng)價(jià)排名 網(wǎng)站排名優(yōu)化 呼叫中心市場(chǎng)需求

大型網(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)讀寫(xiě)分離,減輕數(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ù)器,或者自己寫(xiě)個(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安裝,我建議不要在線下載安裝,還是離線安裝的好。大家可以參考 https://www.jb51.net/article/157282.htm 這位不知道大哥還是姐妹,寫(xiě)的挺好按照這個(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ù)同步。

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

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

(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]下面增加下面幾行代碼

重啟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

(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ù),表試試吧。。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

您可能感興趣的文章:
  • 基于Linux的mysql主從配置全過(guò)程記錄
  • windows下mysql數(shù)據(jù)庫(kù)主從配置教程
  • MySQL5.7主從配置實(shí)例解析
  • Docker mysql 主從配置詳解及實(shí)例
  • MySQL主從配置學(xué)習(xí)筆記

標(biāo)簽:黃山 衡水 蘭州 仙桃 崇左 湘潭 銅川 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用MySQL主從配置實(shí)現(xiàn)讀寫(xiě)分離減輕數(shù)據(jù)庫(kù)壓力》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    南投县| 鹤壁市| 长岭县| 凉城县| 天台县| 吉水县| 龙岩市| 房产| 织金县| 汝南县| 武山县| 上高县| 锦屏县| 万全县| 清丰县| 永宁县| 玛纳斯县| 虞城县| 北流市| 房产| 庐江县| 无棣县| 韶关市| 溆浦县| 东台市| 双江| 昌黎县| 绿春县| 涡阳县| 青海省| 漳平市| 靖州| 虹口区| 务川| 牡丹江市| 南皮县| 台州市| 宁南县| 怀化市| 岗巴县| 灵台县|