MySQL Proxy

壹頁書發表於2014-02-23
MySQL Proxy下載地址:
http://dev.mysql.com/downloads/mysql-proxy/=
作為現在的版本,MySQL並不建議在生產環境使用。

MySQL Proxy可以代理MySQL的請求,實現讀寫分離。
但是這個功能,我測試並未透過,也許是操作的問題.

下面是測試的過程。

Proxy
192.168.1.70:4040
Master
192.168.1.70:3306
Slave
192.168.1.80:3306

my.cnf關於代理的配置
[mysql-proxy]
proxy-backend-addresses=192.168.1.70:3306
proxy-read-only-backend-addresses=192.168.1.80:3306
proxy-lua-script=/root/mysql-proxy-0.8.4-linux-glibc2.3-x86-32bit/share/doc/mysql-proxy/rw-splitting.lua

啟動MySQL Proxy

在Master和Slave上建立一個代理的帳號,用於測試。

使用測試帳號,登入代理伺服器

傳送測試SQL

檢視Proxy的日誌
  1. [read_query] 192.168.1.50:25347
  2. current backend = 0
  3. client default db = edmond
  4. client username = proxy
  5. query = select * from test
  6. sending to backend : 192.168.1.80:3306
  7. is_slave : true
  8. server default db: edmond
  9. server username : proxy
  10. in_trans : false
  11. in_calc_found : false
  12. COM_QUERY : true
  13. (read_query_result) staying on the same backend
  14. in_trans : true
  15. in_calc_found : false
  16. have_insert_id : nil
  17. [read_query] 192.168.1.50:25347
  18. current backend = 2
  19. client default db = edmond
  20. client username = proxy
  21. query = insert into test values(1,1)
  22. sending to backend : 192.168.1.80:3306
  23. is_slave : true
  24. server default db: edmond
  25. server username : proxy
  26. in_trans : true
  27. in_calc_found : false
  28. COM_QUERY : true
  29. (read_query_result) staying on the same backend
  30. in_trans : true
  31. in_calc_found : false
  32. have_insert_id : false
  33. [read_query] 192.168.1.50:25347
  34. current backend = 2
  35. client default db = edmond
  36. client username = proxy
  37. query = commit
  38. sending to backend : 192.168.1.80:3306
  39. is_slave : true
  40. server default db: edmond
  41. server username : proxy
  42. in_trans : true
  43. in_calc_found : false
  44. COM_QUERY : true
奇怪的是,Proxy居然把插入的SQL傳送到了Slave
我猜測的原因是這樣的:
如果事務第一個SQL是查詢,則整個事務傳送給Slave處理;如果事務第一個SQL是Delete、Update或者Insert,則整個事務都傳送給Master處理。
MySQL Proxy貌似不太穩定,還時常掉線。

官方文件不建議生產系統使用,還是很有道理的。
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-1086293/,如需轉載,請註明出處,否則將追究法律責任。

相關文章