quinta-feira, 9 de maio de 2013

Configuração MySQL Proxy

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

Portanto, este é apenas um exemplo muito simples de usar MySQL Proxy .. 

O Proxy MySQL tem sido na fase Alpha para o que se sente como anos a fio. 


Documentação Proxy MySQL: 

Tudo o que resta do local MySQL forja para MySQL Proxy WIKI podem ser encontrados aqui:https://wikis.oracle.com/display/mysql/MySQL+Proxy 

Instale o MySQL Proxy : 
Baixe e descompacte de dev.mysql.com . Versão Alpha atual é mysql-proxy 0.8.3. 

Certifique-se que você também tem Lua instalado 

yum install lua-devel lua-static lua


Então você vai encontrar mysql-proxy no diretório bin. 


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


Opções de comando MySQL : 

Primeiro precisa ter certeza de que você está ciente da data de documentação. 

Você pode pensar que a adição de daemon = true no arquivo de configuração é válido. 
Ele faz, afinal de contas apontam como verdadeiro é o válido para a opção a seguir através da documentação. 



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 

No entanto daemon ou daemon = true resultados com o seguinte problema para usar daemon = 1 

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


O mesmo é verdadeiro para keepalive = true 


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


Usando a interface de administração : 

O arquivo admin.lua está disponível no diretório mysql-proxy: 
O arquivo reporter.lua também pode ser colocado no / lib / mysql-proxy / lua / diretório: 


Então eu acabo com o seguinte exemplo de configuração


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-file = / var / run / mysql-proxy.pid
log-file = / var / log / mysql-proxy.log
log-level debug =
proxy-backend-addresses = 127.0.0.1:3306
# Proxy-read-only-backend-addresses = 127.0.0.1:3306
keepalive = 1
admin-username = raiz
admin-password = secretpassword
admin-lua-script = / usr / local / src / MySQL / mysql-proxy / admin.lua
proxy-lua-script = / usr / local / src / MySQL / mysql-proxy / reporter.lua
PLUGIN_DIR = / usr / lib / mysql / plugin /
plugins = procuração, admin


Desta vez, ele começa .... 


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


Cauda você efetuar logon para confirmar que proxy é instalado e funcionando, em seguida, entrar no porto admin (3308) 

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

Uma vez que você está logado, você pode começar a testá-lo: 

# 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


Lembre-se de sempre verificar os logs ... 


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


OK o Proxy MySQL é de até ... 
Agora, os problemas e reclamações sobre Lua e por que é parte de MySQL-Proxy pode começar ... 

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