## 簡介
mysql-proxy是mysql官方提供的mysql中間件服務,上游可接入若干個mysql-client,后端可連接若干個mysql-server。
它使用mysql協議,任何使用mysql-client的上游無需修改任何代碼,即可遷移至mysql-proxy上。
mysql-proxy最基本的用法,就是作為一個請求攔截,請求中轉的中間層:
進一步的,mysql-proxy可以分析與修改請求。攔截查詢和修改結果,需要通過編寫Lua腳本來完成。
mysql-proxy允許用戶指定Lua腳本對請求進行攔截,對請求進行分析與修改,它還允許用戶指定Lua腳本對服務器的返回結果
進行修改,加入一些結果集或者去除一些結果集均可。
所以說,根本上,mysql-proxy是一個官方提供的框架,具備良好的擴展性,可以用來完成:
* sql攔截與修改
* 性能分析與監控
* 讀寫分離
* 請求路由
1. 分享的同事使用proxy的目的是,因為測試環境碰到了測試/開發同學不小心全表update/delete操作,導致測試數據異常,從而影響項目進度,于是他接入mysql-proxy對sql語句進行了攔截檢查,并可以將sql語句發送到DBA提供的一個sql review服務中去判斷sql語句是否有問題
2. 之前還有這么一段經歷,之前訂單經過拆庫操作,訂單表分為了128個庫,是根據訂單號去拆庫的,然而不是所有的表都有訂單號(歷史架構的鍋),如有個需求是根據手機號碼去查詢訂單號,導致要遍歷查詢128去判斷是否存在,那么就需要proxy介入,當時使用的是阿里的mycat中間件
- 簡介
- Cookie
- HTML5 LocalStorage
- session
- 當瀏覽器關閉后,Session就銷毀了嗎?
- mysql數據庫保存session
- HTTP協議的由來
- fsockopen異步請求
- http防盜鏈
- Apache偽靜態知識補充
- 大并發量解決方案
- 大型網站是怎樣解決多用戶高并發訪問
- 網站高并發 大流量訪問的處理及解決方法
- 并發數與在線客戶數?注冊用戶數的關系
- 即時聊天程序
- 反向Ajax實現
- ob緩存作用
- 淺聊并發之戰
- php擴展安裝
- php安裝redis擴展
- SQLMap自動化實施SQL注入共計
- 命名空間namespace
- 集群和分布式之【session共享】
- php Redis存儲Session 【1】
- php Redis存儲Session 【2】
- php mysql存儲session【1】
- php緩存
- 文件緩存
- memcache和redis的比較
- 原生session與session in redis對比
- XSS攻擊【1】
- XSS攻擊【2】
- PHP消息隊列
- php+mysql 模擬發送郵件隊列
- php+mysql 模擬訂單處理隊列
- php+redis 模擬秒殺隊列
- RabbitMQ 消息隊列系統
- beanstalkd
- PHP構建即時通訊
- WebSocket協議
- workerman
- PHP變量的作用域
- PHP傳值和傳引用的區別
- PHP匿名函數
- PHP遞歸函數&應用
- PHP單例模式
- PHP性能優化
- RESTful
- 集群
- 增加pgsql擴展
- php.ini路徑查找
- Swoole Compiler
- mysql 主從
- 主從
- mysql-proxy
- window docker環境