欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Mysql中怎么讀寫分離

MySQL中怎么讀寫分離,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

公司主營業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出常州免費(fèi)做網(wǎng)站回饋大家。

什么是讀寫分離?

Mysql中讀寫分離實(shí)際上就是讓主數(shù)據(jù)庫處理主動寫操作,讓從數(shù)據(jù)庫處理主動讀操作。我們可以使用mysql-proxy中間件實(shí)現(xiàn)Mysql的讀寫分離,mysql-proxy在這里是作為什么角色呢?實(shí)際上我們可以將mysql-proxy理解為一個主從數(shù)據(jù)庫之間的代理,它負(fù)責(zé)接受客戶端的請求,然后判斷請求SQL是屬于寫操作還是讀操作,如果屬于讀操作則轉(zhuǎn)發(fā)給從數(shù)據(jù)庫處理請求,如果處于寫操作則轉(zhuǎn)發(fā)給主數(shù)據(jù)庫處理請求。

實(shí)現(xiàn)Mysql讀寫分離

其實(shí)實(shí)現(xiàn)Mysql讀寫分離最簡單的方案就是開啟主從同步,在后端配置主數(shù)據(jù)庫的連接和從數(shù)據(jù)庫的連接,如果需要處理更新數(shù)據(jù)操作,就是用主數(shù)據(jù)庫連接完成更新操作,如果只是select查詢數(shù)據(jù),則使用從數(shù)據(jù)庫連接從從數(shù)據(jù)庫獲取數(shù)據(jù)。但是通過代碼來管理連接不同的主從數(shù)據(jù)庫太過于繁瑣了,所以Mysql提供了官方的中間件mysql-proxy實(shí)現(xiàn)代理,客戶端只需要請求mysql-proxy的連接池取到一個連接,至于根據(jù)讀寫操作來選擇不同的主從數(shù)據(jù)庫這些工作就只需要交給mysql-proxy來處理就可以了。所以本篇文章重點(diǎn)介紹如何使用mysql-proxy來實(shí)現(xiàn)Mysql的讀寫分離。


lua安裝

由于mysql-proxy讀寫分離主要通過rw-splitting.lua腳本去實(shí)現(xiàn),所以需要先裝一下lua
/*下載lua并且解壓*/wget http://www.lua.org/ftp/lua-5.1.4.tar.gz && tar zxvf lua-5.1.4.tar.gz/*進(jìn)入lua并且install*/cd lua-5.1.4 && make linux && make install/*導(dǎo)出*/export LUA_CFLAGS="-I/usr/local/include" LUA_LIBS="-L/usr/local/lib -llua -ldl" LDFLAGS="-lm"

mysql-proxy安裝  
   
     
   
   
   /*下載mysql-proxy并且解壓*/
      
    
    wget mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.gz && tar -zxvf mysql-proxy-0.8.5-linux-glibc2.3-x86-64bit.tar.g
由于默認(rèn)情況下。數(shù)據(jù)庫連接數(shù)最少要達(dá)到4,才會開啟讀寫分離。由于mysql-proxy讀寫分離主要通過rw-splitting.lua腳本去實(shí)現(xiàn),所以需要先修改下rw-splitting.lua配置信息,rw-splitting.lua配置文件所處路徑:
   
     
   
   
   /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua
Mysql中怎么讀寫分離

可以看到我將最小啟動讀寫分離連接數(shù)改成1,然后下一步就可以啟動mysql-proxy,啟動時需要指定主從服務(wù)器
./mysql-proxy \--proxy-read-only-backend-addresses=49.232.154.38:3306 \--proxy-backend-addresses=49.235.28.88:3306 \--log-file=/usr/local/mysql-proxy/logs/mysql-proxy.log \--proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua &

Mysql中怎么讀寫分離


接下來我們可以先看下幾個配置參數(shù)的含義:
  • --proxy-read-only-backend-addresses:配置只讀從數(shù)據(jù)庫

  • --proxy-backend-addresses:配置主服務(wù)器

  • --proxy-lua-scriptrw-splitting.lua腳本路徑

  • &:表示后臺執(zhí)行mysql-proxy。

  • --log-file:日志文件存放路徑

可以看到上面截圖中,我們成功將mysql-proxy啟動,接下來我們就需要測試下讀寫分離是否可以生效。首先我們需要保證主從同步已經(jīng)成功配置,而這步操作上一篇我們測試完全沒問題了。首先我們登錄從數(shù)據(jù)庫關(guān)閉主從同步并查看當(dāng)前test1數(shù)據(jù)表中的現(xiàn)有數(shù)據(jù):

Mysql中怎么讀寫分離


mysql-proxy  端口配置在4040,接下來使用昨天創(chuàng)建用于主從同步的root賬號登錄4040端口,插入幾條數(shù)據(jù):  
Mysql中怎么讀寫分離

接下來查看主數(shù)據(jù)庫test1數(shù)據(jù)表的數(shù)據(jù):  
Mysql中怎么讀寫分離

然后再查看從數(shù)據(jù)庫test1數(shù)據(jù)表的數(shù)據(jù):  
Mysql中怎么讀寫分離
所以可以發(fā)現(xiàn)我們寫數(shù)據(jù)的時候是寫入到主數(shù)據(jù)庫中,也就是寫操作已經(jīng)成功分離了。  
然后接著繼續(xù)使用root賬號查詢test1數(shù)據(jù)表的數(shù)據(jù):  
Mysql中怎么讀寫分離

可以看到查出來的數(shù)據(jù)是從數(shù)據(jù)庫的數(shù)據(jù),因?yàn)榻Y(jié)果只有一條,如果來自于主數(shù)據(jù)庫應(yīng)該有我們剛才新插入的三條數(shù)據(jù),所以可以證明我們的讀操作分離也成功了,到這里我們主從同步和讀寫分離全部配置成功,我們在項目中就可以使用這個4040端口的root用戶來代理數(shù)據(jù)庫操作,如果是寫操作則代理到主數(shù)據(jù)庫去執(zhí)行,如果屬于讀操作則代理到從數(shù)據(jù)庫去執(zhí)行,實(shí)現(xiàn)Mysql讀寫分離。

mysql-proxy執(zhí)行流程簡析

我們這里測試是為了方便采取一主一從的架構(gòu)去測試,但是很多時候后端Mysql服務(wù)不止一個,我們最后來大致了解下mysql-proxy的工作流程:

  • 實(shí)際上客戶端向mysql-proxy發(fā)起連接時會調(diào)用connect_server()函數(shù),如果沒有實(shí)現(xiàn)這個函數(shù),則mysql-proxy默認(rèn)使用輪詢方式找到合適的客戶端代理請求給客戶端。

  • 用戶進(jìn)行賬號權(quán)限驗(yàn)證時傳遞賬號密碼等信息,mysql-proxy會調(diào)用read_auth()函數(shù),當(dāng)后端mysql服務(wù)向mysql-proxy認(rèn)證結(jié)果時,mysql-proxy則會調(diào)用read_auth_result()然后給客戶端返回認(rèn)證結(jié)果。

  • 認(rèn)證成功??蛻舳嗣看伟l(fā)起請求mysql-proxy都會調(diào)用read_query()來處理中間具體轉(zhuǎn)發(fā)的業(yè)務(wù)邏輯,然后在后端mysql服務(wù)向mysql-proxy傳遞查詢結(jié)果時,調(diào)用read_query_result()對結(jié)果集進(jìn)行一系列處理,最后將結(jié)果集返回給客戶端。

關(guān)于Mysql中怎么讀寫分離問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

當(dāng)前名稱:Mysql中怎么讀寫分離
標(biāo)題鏈接:http://aaarwkj.com/article18/pjcodp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站外貿(mào)建站、虛擬主機(jī)、關(guān)鍵詞優(yōu)化、動態(tài)網(wǎng)站、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
成年人性生活网站视频| 国产a天堂一区二区专区| 国产一区二区乱码在线| 日韩精品免费一区二区三区| 国产精品一区二区三区专区| 中文字幕五月久久婷热| 婷婷丁香六月激情综合| 日韩人妻高清精品专区| 18岁未成年禁止观看视频| 字幕日本欧美一区二区| 国内校园性猛交视频网站| 极品人妻少妇精品一区二区| 日本高清有码中文字幕| 白嫩少妇情久久密月久久| 亚洲国产欧美日韩在线一区| 熟女中文字幕亚洲一区二区| 日本人妻精品在线观看| 色婷婷综合五月在线观看| 精品福利视频蜜臀91| 亚洲中文字幕精品一区二区三区| 欧美日韩激情在线一区| 日韩在线一区二区三区电影 | 亚洲av污精品一区二区三区| 丰满少妇在线观看网站| 国产自拍免费在线观看视频| 成人av在线播放亚洲| 国产一区二区三区av网站| 人体蜜桃视频一区二区| 思思久久96热在精品国产| 亚洲欧美成人高清在线观看| 美女丝袜诱惑国产在线观看| 99热精品在线免费观看| 未满十八禁止在线观看av| 国产精品妇女一二三区| 色婷婷国产精品高潮呻吟| 极品丝袜美腿一区二区| 精品国产av一区二区麻豆| 日韩欧美 高清一区| 国产精品日韩伦理一区二区| 人妻口爆视频一区二区三区| 亚洲天堂av福利在线观看|