MySQL-Proxy有什么用-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“MySQL-Proxy有什么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“MySQL-Proxy有什么用”這篇文章吧。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比綏寧網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式綏寧網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋綏寧地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

MySQL-Proxy是處在你的MySQL數(shù)據(jù)庫客戶和服務端之間的程序,它還支持嵌入性腳本語言Lua。這個代理可以用來分析、監(jiān)控和變換(transform)通信數(shù)據(jù),它支持非常廣泛的使用場景:

  • 負載平衡和故障轉(zhuǎn)移處理

  • 查詢分析和日志

  • SQL宏(SQL macros)

  • 查詢重寫(query rewriting)

  • 執(zhí)行shell命令

MySQL Proxy更強大的一項功能是實現(xiàn)“讀寫分離(Read/Write Splitting)”。基本的原理是讓主數(shù)據(jù)庫處理事務性查詢,而從數(shù)據(jù)庫處理SELECT查詢。數(shù)據(jù)庫復制被用來把事務性查詢導致的變更同步到集群中的從數(shù)據(jù)庫。

MySQL Proxy處于客戶端應用程序和MySQL服務器之間,通過截斷、改變并轉(zhuǎn)發(fā)客戶端和后端數(shù)據(jù)庫之間的通信來實現(xiàn)其功能,這和WinGate之類的網(wǎng)絡代理服務器的基本思想是一樣的。代理服務器是和TCP/IP協(xié)議打交道,而要理解MySQL Proxy的工作機制,同樣要清楚MySQL客戶端和服務器之間的通信協(xié)議,MySQL Protocol包括認證和查詢兩個基本過程:

認證過程包括:

  1. 客戶端向服務器發(fā)起連接請求

  2. 服務器向客戶端發(fā)送握手信息

  3. 客戶端向服務器發(fā)送認證請求

  4. 服務器向客戶端發(fā)送認證結(jié)果

如果認證通過,則進入查詢過程:

  1. 客戶端向服務器發(fā)起查詢請求

  2. 服務器向客戶端返回查詢結(jié)果

當然,這只是一個粗略的描述,每個過程中發(fā)送的包都是有固定格式的,想詳細了解MySQL Protocol的同學,可以去這里看看。MySQL Proxy要做的,就是介入?yún)f(xié)議的各個過程。首先MySQL Proxy以服務器的身份接受客戶端請求,根據(jù)配置對這些請求進行分析處理,然后以客戶端的身份轉(zhuǎn)發(fā)給相應的后端數(shù)據(jù)庫服務器,再接受服務器的信息,返回給客戶端。所以MySQL Proxy需要同時實現(xiàn)客戶端和服務器的協(xié)議。由于要對客戶端發(fā)送過來的SQL語句進行分析,還需要包含一個SQL解析器??梢哉fMySQL Proxy相當于一個輕量級的MySQL了,實際上,MySQL Proxy的admin server是可以接受SQL來查詢狀態(tài)信息的。

MySQL Proxy通過lua腳本來控制連接轉(zhuǎn)發(fā)的機制。主要的函數(shù)都是配合MySQL Protocol各個過程的,這一點從函數(shù)名上就能看出來:

  • connect_server()

  • read_handshake()

  • read_auth()

  • read_auth_result()

  • read_query()

  • read_query_result()

至于為什么采用lua腳本語言,我想這是因為MySQL Proxy中采用了wormhole存儲引擎的關(guān)系吧,這個蟲洞存儲引擎很有意思,數(shù)據(jù)的存儲格式就是一段lua腳本

以上是“MySQL-Proxy有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文題目:MySQL-Proxy有什么用-創(chuàng)新互聯(lián)
文章位置:http://muchs.cn/article48/cossep.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、App設計、ChatGPT、定制網(wǎng)站網(wǎng)頁設計公司、面包屑導航

廣告

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

成都app開發(fā)公司