詳解Mysql Proxy Lua內部結構體以及變數

來源:互聯網
上載者:User

Mysql Proxy Lua內部結構體以及變數是本文要介紹的內容,主要是來學習Mysql Proxy結構體和變數的應用,具體內容來看本文詳解。

Mysql ProxyLUA配置指令碼中可以使用很多內部結構,其中最主要的是proxy,proxy提供了很多其他的結構體的介面,比如串連列表,後端伺服器列表等等。像incoming packet這樣的來自客戶的結構體只是在指令碼函數上下文中存在。

屬性描述:

 
  1. connection:包含所有活動客戶的串連proxy.connection )列表. .   
  2. servers: 後台伺服器的列表 proxy.backends)  
  3. queries:某一客戶要發送到伺服器端的查詢  
  4. PROXY_VERSION :Mysql Proxy版本,十六進位。 

proxy.connection

proxy.connection 是唯讀對象,提供了當前活動串連的資訊

proxy.connection 屬性:

thread_id :串連的threadid

backend_ndx :當前串連所對應的後端伺服器編號

proxy.backends

proxy.backends部分可寫的,包含了後台伺服器以及伺服器meta資訊的列表 ,你可以指定當前串連使用那個後台伺服器。

proxy.backends 屬性: 

address: 當前串連的主機名稱/連接埠組合

connected_clients:目前已串連的客戶數

state:後台伺服器的狀態

proxy.queries

proxy.queries是一個要送往伺服器的查詢隊列,

 
  1. The queue is not populated automatically, but if you do not explicitly populate the queue then queries are
  2. passed on to the backend server verbatim. Also, if you do not populate the query queue by hand,
  3. then the read_query_result() function is not triggered.
  4. The following methods are supported for populating the proxy.queries object.  

函數描述:

 
  1. append(id,packet) 添加到隊尾。  
  2. prepend(id,packet) 插入隊頭。  
  3. len() 返回查詢的隊列長度 

以下常量Mysql Proxy用來客戶指定操作:

 
  1. PROXY_SEND_QUERY 發送查詢給伺服器.   
  2. PROXY_SEND_RESULT 返回用戶端查詢結果   
  3. PROXY_IGNORE_RESULT 丟棄結果集  

包狀態常量: 

 
  1. MYSQLD_PACKET_OK The packet is OK.   
  2. MYSQLD_PACKET_ERR The packet contains error information.   
  3. MYSQLD_PACKET_RAW The packet contains raw data.  

後台狀態常量:

 
  1. BACKEND_STATE_UNKNOWN The current status is unknown.   
  2. BACKEND_STATE_UP The backend is known to be up (available).   
  3. BACKEND_STATE_DOWN The backend is known to be down (unavailable).   
  4. BACKEND_TYPE_UNKNOWN Backend type is unknown.   
  5. BACKEND_TYPE_RW Backend is available for read/write.   
  6. BACKEND_TYPE_RO Backend is available only for read-only use.   
  7.  
  8. 伺服器命令常量:  
  9.  
  10. Constant Description   
  11. COM_SLEEP Sleep   
  12. COM_QUIT Quit   
  13. COM_INIT_DB Initialize database   
  14. COM_QUERY Query   
  15. COM_FIELD_LIST Field List   
  16. COM_CREATE_DB Create database   
  17. COM_DROP_DB Drop database   
  18. COM_REFRESH Refresh   
  19. COM_SHUTDOWN Shutdown   
  20. COM_STATISTICS Statistics   
  21. COM_PROCESS_INFO Process List   
  22. COM_CONNECT Connect   
  23. COM_PROCESS_KILL Kill   
  24. COM_DEBUG Debug   
  25. COM_PING Ping   
  26. COM_TIME Time   
  27. COM_DELAYED_INSERT Delayed insert   
  28. COM_CHANGE_USER Change user   
  29. COM_BINLOG_DUMP Binlog dump   
  30. COM_TABLE_DUMP Table dump   
  31. COM_CONNECT_OUT Connect out   
  32. COM_REGISTER_SLAVE Register slave   
  33. COM_STMT_PREPARE Prepare server-side statement   
  34. COM_STMT_EXECUTE Execute server-side statement   
  35. COM_STMT_SEND_LONG_DATA Long data   
  36. COM_STMT_CLOSE Close server-side statement   
  37. COM_STMT_RESET Reset statement   
  38. COM_SET_OPTION Set option   
  39. COM_STMT_FETCH Fetch statement   
  40. COM_DAEMON Daemon (MySQL 5.1 only)   
  41. COM_ERROR Error  

MySQL資料類型

 
  1. Constant Field Type   
  2. MYSQL_TYPE_DECIMAL Decimal   
  3. MYSQL_TYPE_NEWDECIMAL Decimal (MySQL 5.0 or later)   
  4. MYSQL_TYPE_TINY Tiny   
  5. MYSQL_TYPE_SHORT Short   
  6. MYSQL_TYPE_LONG Long   
  7. MYSQL_TYPE_FLOAT Float   
  8. MYSQL_TYPE_DOUBLE Double   
  9. MYSQL_TYPE_NULL Null   
  10. MYSQL_TYPE_TIMESTAMP Timestamp   
  11. MYSQL_TYPE_LONGLONG Long long   
  12. MYSQL_TYPE_INT24 Integer   
  13. MYSQL_TYPE_DATE Date   
  14. MYSQL_TYPE_TIME Time   
  15. MYSQL_TYPE_DATETIME Datetime   
  16. MYSQL_TYPE_YEAR Year   
  17. MYSQL_TYPE_NEWDATE Date (MySQL 5.0 or later)   
  18. MYSQL_TYPE_ENUM Enumeration   
  19. MYSQL_TYPE_SET Set   
  20. MYSQL_TYPE_TINY_BLOB Tiny Blob   
  21. MYSQL_TYPE_MEDIUM_BLOB Medium Blob   
  22. MYSQL_TYPE_LONG_BLOB Long Blob   
  23. MYSQL_TYPE_BLOB Blob   
  24. MYSQL_TYPE_VAR_STRING Varstring   
  25. MYSQL_TYPE_STRING String   
  26. MYSQL_TYPE_TINY Tiny (compatible with MYSQL_TYPE_CHAR)    
  27. MYSQL_TYPE_ENUM Enumeration (compatible with MYSQL_TYPE_INTERVAL)   
  28. MYSQL_TYPE_GEOMETRY Geometry   
  29. MYSQL_TYPE_BIT Bit   

小結:詳解Mysql Proxy Lua內部結構體以及變數的內容介紹完了,希望通過本文的學習能對你有所協助!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.