程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql-proxy read_auth方法中替換用戶名和密碼

mysql-proxy read_auth方法中替換用戶名和密碼

編輯:MySQL綜合教程

mysql-proxy read_auth方法中替換用戶名和密碼   mysql-proxy 中的read_auth方法可以實現 將客戶端發送來的用戶名和密碼替換成真正的用戶名和密碼  ,比如  reaplace / me 替換成 root /root。最主要的部分是調用to_response_packet方法生成一個數據包發送給數據庫進行驗證。     在mysql-proxy 0.8.3 前的版本 寫法如下    Java代碼:   proxy.queries:append(1,                       proto.to_response_packet({                               username = "root",                                response = password.scramble(s.scramble_buffer, password.hash("secret"))                       })               )                  return proxy.PROXY_SEND_QUERY    在mysql-0.8.3版本的api中增加了server_capabilities屬性,上面的程序會報以下錯誤信息:    Java代碼:   .server_capabilities has to be set   需要改寫成以下形式:  Java代碼:  local protocol_41_default_capabilities = 8+512+ 32768                           --8 +     -- _CONNECT_WITH_DB                           --512 +   -- _PROTOCOL_41                           --32768   -- _SECURE_CONNECTION     Java代碼:   proxy.queries:append(1,                           proto.to_response_packet({                                   username = "root",                                   response = password.scramble(scramble_buffer, password.hash("root")),                                   server_capabilities=protocol_41_default_capabilities                           })                   )   被這個問題困擾了三四天,終於解決了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved