中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL-Proxy有什么用

發布時間:2022-01-14 17:02:39 來源:億速云 閱讀:211 作者:小新 欄目:數據庫

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

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

  • 負載平衡和故障轉移處理

  • 查詢分析和日志

  • SQL宏(SQL macros)

  • 查詢重寫(query rewriting)

  • 執行shell命令

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

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

認證過程包括:

  1. 客戶端向服務器發起連接請求

  2. 服務器向客戶端發送握手信息

  3. 客戶端向服務器發送認證請求

  4. 服務器向客戶端發送認證結果

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

  1. 客戶端向服務器發起查詢請求

  2. 服務器向客戶端返回查詢結果

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

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

  • connect_server()

  • read_handshake()

  • read_auth()

  • read_auth_result()

  • read_query()

  • read_query_result()

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

以上是“MySQL-Proxy有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

札达县| 深水埗区| 科技| 宣化县| 晋宁县| 革吉县| 根河市| 漳州市| 锦屏县| 图们市| 称多县| 长葛市| 华安县| 南溪县| 普洱| 津南区| 常熟市| 潼关县| 阿克陶县| 汾阳市| 丰宁| 泽普县| 玉门市| 左贡县| 安新县| 河东区| 渭源县| 伽师县| 奉节县| 晋江市| 沭阳县| 冀州市| 瑞丽市| 宿松县| 扎赉特旗| 澎湖县| 奇台县| 旺苍县| 女性| 江安县| 甘肃省|