2013年5月10日星期五

設置MySQL代理

Original post: http://anothermysqldba.blogspot.com/2013/05/setup-mysql-proxy.html

所以,這只是一個很簡單的例子,使用MySQL代理.. 

MySQL代理一直在Alpha階段,什麼感覺像多年就結束。 


MySQL代理文件: 

無論是從MySQL偽造網站MySQL代理WIKI留下可以在這裡找到:https://wikis.oracle.com/display/mysql/MySQL+Proxy 

安裝MySQL代理 : 
下載並解壓從dev.mysql.com 。 目前的Alpha版本是mysql-0.8.3代理。 

確保你也有安裝的Lua 

yum install lua-devel lua-static lua


然後,你會發現在bin目錄下的mysql的代理。 


[root@localhost bin]# ./mysql-proxy --help
Usage:
mysql-proxy [OPTION...] - MySQL Proxy


MySQL命令選項 : 

首先需要確保你是知道的日期的文檔。 

你可能會認為,加入守護= true來你的配置文件是有效的。 
它畢竟是如何真正有效的文檔通過下列選項指出。 



For example, the following is invalid:

 [mysql-proxy] proxy-skip-profiling 

But this is valid:

 [mysql-proxy] proxy-skip-profiling = true 


http://dev.mysql.com/doc/refman/5.6/en/mysql-proxy-configuration.html #option_mysql的proxy_daemon 

然而守護進程或守護=真正的結果與下列問題,以便使用守護= 1 

./bin/mysql-proxy --defaults-file=mysql_proxy.cnf
(critical) Key file contains key 'daemon' which has value that cannot be interpreted. 


同樣是真實的keepalive = TRUE 


./bin/mysql-proxy --defaults-file=mysql_proxy.cnf
(critical) Key file contains key 'keepalive' which has value that cannot be interpreted. 


使用管理界面 : 

的admin.lua文件可用下MYSQL代理目錄: 
的reporter.lua文件也可以放入到/ lib / mysql的代理/ LUA /目錄: 


所以我結束了下面的配置示例


vi mysql_proxy.cnf

[mysql-proxy]

admin -address =127.0.0.1: 3308

proxy -address=127.0.0.1: 3307

proxy-skip-profiling = true
daemon=1
PID文件/無功/運行/ MYSQL-proxy.pid的
日誌文件=的/ var / log中/ MYSQL-proxy.log的
日誌級別=調試
代理後台地址= 127.0.0.1:3306
#代理只讀後端的地址= 127.0.0.1:3306
存活= 1
管理員用戶名=根
管理員密碼= secretPassword和
管理員LUA腳本=的/ usr /本地/ SRC / MYSQL / mysql的代理/ admin.lua
代理LUA腳本的/ usr /本地/ SRC / MYSQL / mysql的代理/ reporter.lua
PLUGIN_DIR =的/ usr / lib中/ MySQL /插件的/
插件代理,管理


這一次,它開始.... 


./bin/mysql-proxy --defaults-file=mysql_proxy.cnf


尾你登錄,以確認代理運行,那麼登錄到管理端口(3308) 

(message) proxy listening on port 127.0.0.1: 3307
# mysql -u root -p -P3308 -h127.0.0.1 

一旦你登錄後,您就可以開始測試: 

# mysql -u root -p -P3308 -h127.0.0.1

show querycounter;
+---------------+
| query_counter |
+---------------+
| NULL |
+---------------+ 



SELECT * FROM backends;
+-------------+----------------+-------+------+
| backend_ndx | address | state | type |
+-------------+----------------+-------+------+
| 1 | 127.0.0.1:3306 | 1 | 1 |
+-------------+----------------+-------+------+ 



> SHOW PROXY PROCESSLIST;
ERROR 1105 (07000): need a resultset + proxy.PROXY_SEND_RESULT ... got something else


永遠記住檢查你的日誌... 


(critical) (read_query) [string "/usr/local/src/MySQL/mysql-proxy/admin.lua"]:152: bad argument #1 to 'pairs' (table expected, got nil) 


OK MySQL代理... 
現在的問題和抱怨Lua和為什麼它的MySQL代理的一部分,就可以開始... 

http://lua.2524044.n2.nabble.com/Beginner-from-Python-starting-to-MySQL-Proxy-td7636807.html