Thursday, May 9, 2013

Configuración de MySQL Proxy

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

Así que esto es sólo un ejemplo muy simple de utilizar Proxy MySQL .. 

El Proxy MySQL ha estado en las etapas Alfa de lo que parece muchos años. 


MySQL Proxy Documentación: 

Lo que queda del sitio forja MySQL para MySQL Proxy WIKI se puede encontrar aquí:https://wikis.oracle.com/display/mysql/MySQL+Proxy 

Instalar MySQL Proxy : 
Descargar y descomprimir de dev.mysql.com . Versión alfa actual es mysql-proxy 0.8.3. 

Asegúrese de que usted también tiene instalado Lua 

yum install lua-devel lua-static lua


A continuación encontrará mysql-proxy en el directorio bin. 


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


MySQL opciones de comando : 

En primer lugar debe asegurarse de que son conscientes de la salida de la documentación actualizada. 

Se podría pensar que la adición de demonio = true en el archivo de configuración es válida. 
Lo hace después de todo, señalar qué tan cierto es el válido para la siguiente opción a través de la documentación. 



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 

Sin embargo demonio o demonio = true resultados con la siguiente cuestión a fin de utilizardemonio = 1 

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


Lo mismo es cierto 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 la interfaz de administración : 

El archivo admin.lua está disponible en el directorio mysql-proxy: 
El archivo reporter.lua también se puede colocar en el directorio / lib / mysql-proxy / lua / directorio: 


Así que termino con el siguiente ejemplo de configuración


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
admi-username = root
admin-password = secretpassword
admi-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 = proxy, administrador


Esta vez empieza .... 


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


Tail iniciar sesión para confirmar ese proxy está funcionando continuación, inicie sesión en el puerto de administración (3.308) 

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

Una vez que ha entrado en el que usted puede comenzar a probarlo: 

# 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


Recuerde siempre comprobar sus registros ... 


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


Aceptar el Proxy MySQL está sucediendo ... 
Ahora los problemas y se queja más de Lua y por qué es parte de MySQL Proxy pueden empezar ... 

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