
|
Vista rápida |
|
|
Catálogo |
Sistema |
|
Categoría |
Dispositivos de base de datos |
|
Volúmenes de usuario |
yes |
|
Memoria mín. |
160 MB |
|
SO |
Linux |
|
Preguntas o comentarios |
|
MYSQLR64 es un dispositivo de base de datos basado en el motor de base de datos MySQL (http://www.mysql.org). Proporciona una forma fácil de agregar una base de datos a cualquier aplicación. Los dispositivos se pueden usar también en escenarios de replicación de MYSQL complejos. Los dispositivos están basados en MYSQL5 (CentOS 5.5/MySQL 5) pero también tratan la replicación de base de datos.
La replicación de base de datos permite que los datos de un servidor de base de datos de MySQL (conocido como principal) se repliquen a uno o varios servidores de base de datos MySQL (conocidos como secundarios). Los dispositivos MYSQLR64 se pueden configurar para la replicación principal-secundario así como para la replicación principal-principal y la replicación con más de dos principales.
La configuración, gestión y control de replicación se realizan mediante una interfaz Web. La interfaz Web proporciona una forma fácil de iniciar la replicación prácticamente sin tiempo de inactividad en el principal. Se puede utilizar también para reparar una replicación en caso de problemas. La interfaz Web se puede utilizar para copiar bases de datos de dispositivos de base de datos más antiguos como MYSQL y MYSQL5. MYSQLR64 también proporcionar una forma fácil para gestionar y explorar la base de datos (basada en phpMyAdmin).
La replicación resulta útil en varios casos:
En su configuración predeterminada MYSQLR64 actúa exactamente como un dispositivo MYSQL5 con una interfaz Web para la gestión. Para utilizarlo en escenarios de replicación, necesita al menos dos dispositivos MYSQLR64 con una configuración apropiada (consulte Uso Típico).
MYSQLR64 almacena la base de datos en un volumen definido por la aplicación que se puede configurar en cada instancia de MYSQLR64. MYSQLR64 crea automáticamente una base de datos vacía cuando se inicia en un volumen vacío.
|
Nombre |
Última versión |
SO |
!MySQL |
Notas |
|
MYSQLR |
2.0.3-1 |
CentOS 5.5 |
5.5.8 |
|
|
MYSQLR64 |
2.0.3-1 |
CentOS 5.5 (64 bits) |
5.5.8 |
|
Importante: No debería mezclar dispositivos MYSQLR de 32 bits y 64 bits cuando utiliza la replicación para copiar los archivos de base de datos del principal al secundario. Tampoco deberían utilizar volúmenes de datos de la versión de 32 bits del dispositivo con una versión de 64 bits del mismo dispositivo (y viceversa). Para migrar una base de datos entre las versiones de 32 bits y 64 bits de MYSQLR, vuelque las bases de datos en un host e impórtelas al otro, tal y como se describe aquí.
Recursos
|
Recurso |
Mínimo |
Máximo |
Predeterminado |
|
CPU |
0,0.10 |
16 |
0,0.40 |
|
Memoria |
128 MB |
32 G |
512 MB |
|
Ancho de banda |
1 Mbps |
2 Gbps |
250 Mbps |
Terminales
|
Nombre |
Dir. |
Protocolo |
Descripción |
|
in |
Entrante |
MYSQL |
Recibe solicitudes de base de datos MySQL. |
|
rin |
Entrante |
Cualquiera |
Los dispositivos MYSQLR64 secundarios que utilizan el dispositivo como principal se conectan a este terminal. |
|
ui |
Entrante |
HTTP |
Proporciona acceso a la interfaz Web de MYSQLR64. |
|
log |
Saliente |
CIFS |
Conecta a un dispositivo NAS para almacenar registros de error. Este terminal se puede dejar desconectado si no se usa. |
|
rout |
Saliente |
Cualquiera |
Conecta a un servidor MYSQLR64 principal. Este terminal puede estar desconectado y se debería usar solamente en escenarios de replicación. |
|
mon |
Saliente |
CCE |
Envía estadísticas sobre uso de recursos y rendimiento. Este terminal se puede dejar desconectado. |
La interfaz predeterminada está activada. Se utiliza para diagnósticos y solución de problemas (mediante SSH). Las versiones futuras de este dispositivo pueden desactivar el acceso de SSH.
Importante: Los terminales rin y rout se usan para datos tanto SSH (tcp 22) como MYSQL (tcp 3306). Cuando se usan puertas de enlace o VPN para conectar esos terminales, los cortafuegos se deberán configurar para permitir usar los dos puertos.
Volúmenes de usuario
|
Volumen |
Descripción |
|
data |
Volumen utilizado para almacenar datos de base de datos. Este volumen es obligatorio. |
|
binlogs |
Volumen utilizado para los registros binarios al ejecutarse en modo de replicación (como principal o como secundario). Este volumen no es obligatorio, pero si usa el dispositivo en la replicación (se ha establecido rpl_mode en otro valor distinto a "none") y no se proporciona un volumen binlogs, el dispositivo dará error al iniciarse. |
Opcionalmente, el volumen de datos puede contener un archivo my.cnf en su directorio superior que incluye opciones de configuración de MYSQL. Para obtener más detalles, consulte la sección Configuración personalizada. Esta función está disponible en MYSQLR64 1.6.1 o versiones posteriores.
Importante:
Para migrar una base de datos desde un dispositivo antiguo (MYSQL, MYSQL5, MYSQL64), desde un servidor físico o desde MYSQLR (si se migra una versión de 32 bits del dispositivo a una de 64), consulte el procedimiento descrito en Migración de bases de datos desde otros dispositivos.
Propiedades
|
Nombre de la propiedad |
Tipo |
Descripción |
|
auto_create |
Entero |
Si se debe crear la base de datos si no existe. Los valores posibles son 1 para crearla y 0 para impedir la creación automática (para evitar la sobrescritura accidental en caso de volúmenes dañados). Si se establece en 0 y no hay una base de datos en el volumen de datos, el dispositivo se inicia en modo de mantenimiento (el dispositivo se iniciará correctamente pero el daemon MySQL no se iniciará para que el usuario pueda revisar el problema). El valor predeterminado es 1. |
|
error_log_filename |
Cadena |
Nombre del archivo de registro de errores, relativo al sistema de archivos de registro (por ejemplo /mysql_logs/my.log). Los directorios en la ruta se crean automáticamente. Si se deja vacío, se escribe el registro de errores en el volumen de datos (/mnt/data/error.log). Valor predeterminado: vacío |
|
error_log_level |
Cadena |
Nivel de registro de errores. Los valores posibles son: "error": sólo registra errores, "warn": registra advertencias y errores. Esta propiedad no distingue entre mayúsculas y minúsculas. Valor predeterminado: error |
|
timezone |
Cadena |
Especifica la zona horaria utilizada en el dispositivo. Si esta propiedad está vacía, la zona horaria no se modifica y se deja tal cual. Aquí tiene disponible una lista de zonas horarias admitidas. Valor predeterminado: vacío |
Desde MYSQLR64 1.6.8, la propiedad use_old_passwords se ha eliminado. Si necesita activar old_passwords, cree una configuración personalizada, tal y como se describe más abajo.
El dispositivo MYSQLR dará error al iniciarse si error_log_filename se ha especificado y el terminal log no está conectado o el sistema de archivos no se puede montar.
Propiedades avanzadas
|
Nombre de la propiedad |
Tipo |
Descripción |
|
server_id |
Entero |
ID del servidor. Los valores posibles son de 1 a 10. Esto especifica el ID del servidor al hacer la replicación. Ayuda a garantizar la configuración de ID únicos para todos los servidores que forman parte de la replicación. Valor predeterminado: 1 |
|
rpl_mode |
Cadena |
Modo de replicación. Los valores posibles son "none" (sin replicación), "master", "slave" y "master_and_slave" (para escenarios de replicación con varios principales donde un servidor es principal y secundario al mismo tiempo). Valor predeterminado: none |
|
web_pwd |
Cadena |
Contraseña para la autenticación en la interfaz Web. Esta propiedad es opcional. Si se establece así, el servidor http del dispositivo se inicia y la interfaz Web se muestra tanto en el terminal ui como en la interfaz predeterminada, desde donde se puede acceder a él mediante la opción Inicio de sesión (Web) en el editor de CA 3Tera AppLogic. Valor predeterminado: vacío |
Configuración personalizada
Esta función está disponible en MYSQLR64 1.6.1 o versiones posteriores.
MYSQLR64 permite usar un archivo de configuración de MYSQL personalizado que puede proporcionar opciones de configuración adicionales o sobrescribir configuraciones existentes especificadas en /etc/my.cnf.
Para utilizar una configuración personalizada, cree un archivo denominado my.cnf y colóquelo en el directorio superior del volumen de datos. El formato del archivo deberá seguir la sintaxis de archivo de opciones MYSQL, tal y como se describe en la documentación de MYSQL.
Por ejemplo, se puede usar lo siguiente para ajustar MYSQLR64 de modo que proporcione un mejor rendimiento al utilizar InnoDB (la configuración de MYSQLR64 predeterminada se optimiza para MyISAM). El ejemplo se basa en el uso de 512 MB de memoria (valor predeterminado para MYSQLR64).
[mysqld] # Shrink down MyISAM buffers key_buffer = 512K myisam_sort_buffer_size = 512K # Make InnoDB the default storage engine (optional) default-storage-engine = INNODB # Set InnoDB buffer size innodb_buffer_pool_size=350M innodb_log_file_size=128M innodb_log_buffer_size=4M innodb_thread_concurrency=8 # If you do not have too many tables use this option, so you will not have uncontrolled innodb main tablespace growth which you can’t reclaim. innodb_file_per_table=1
Importante: Cuando se use en modo de replicación, MYSQLR64 sincronizará también el archivo my.cnf en el volumen de datos cuando arregle o inicie la replicación, de modo que el secundario tendrá la misma configuración que el principal.
Interfaz Web
MYSQLR64 proporciona una interfaz Web a la cual se puede acceder tanto desde el terminal ui como desde la interfaz predeterminada mediante la opción Inicio de sesión (Web) del editor de CA 3Tera AppLogic. El uso de la interfaz Web requiere autenticación HTTP. Deje en blanco el espacio de nombre del usuario y utilice el valor de web_pwd como contraseña. La interfaz tiene las funciones siguientes:
Explore y edite sus bases de datos con PhPMyAdmin.
Configuración y mantenimiento de la replicación
Cómo agregar replicaciones principal-secundario a dispositivos MYSQLR64
CA 3Tera AppLogic le permite agregar replicaciones principal-secundario a dispositivos MYSQLR64 existentes sin perder datos.
Para agregar replicaciones principal-secundario a dispositivos MYSQLR64
Cuando empiece la replicación, inicie sesión en la interfaz Web en los dos dispositivos MYSQLR64 y verifique el estado de la replicación. En 5 minutos o menos, la replicación debería estar ejecutándose en los dos dispositivos.
Cómo agregar dispositivos MYSQLR64 a replicaciones principal-secundario
CA 3Tera AppLogic le permite agregar dispositivos MYSQLR64 nuevos a replicaciones principal-principal existentes sin perder datos.
Para agregar dispositivos MYSQLR64 a replicaciones principal-secundario
Conéctese a la interfaz Web de todos los dispositivos MYSQLR64 y verifique el estado de la replicación; en 5 minutos o menos la replicación debería estar ejecutándose en todos los dispositivos.
Reparación de replicación en configuraciones principal-secundario
CA 3Tera AppLogic le permite reparar la replicación en una configuración principal-secundario sin perder datos.
Para reparar la replicación en configuraciones principal-secundario
Después de que se inicie replicación, conéctese a la interfaz Web en los dispositivos MYSQLR64 secundarios y verifique el estado de replicación; en 5 minutos o menos, la replicación debería estar ejecutándose.
Reparación de replicación en configuraciones principal-principal
CA 3Tera AppLogic le permite reparar la replicación en una configuración principal-principal sin perder datos.
Conéctese a la interfaz Web del dispositivo que informa de error en la replicación y seleccione iniciar o repara la replicación. La duración del registro depende del tamaño de la base de datos en el principal. Durante la operación, el servicio mysql en el dispositivo se detiene. No se introduce el tiempo de inactividad en el principal. La base de datos no quedará sincronizada entre todos los principales hasta el final de la reparación. Es posible que las actualizaciones de base de datos se repliquen en todos los dispositivos MYSQLR64 restantes mientras dure la reparación.
Todos los datos en este dispositivo se inicializan desde el principal. Si se hacen actualizaciones en la base de datos en el dispositivo actual desde el momento en que falló la replicación, se perderán. En este caso, resuelva los conflictos manualmente.
Para reparar la replicación en configuraciones principal-principal
Conéctese en a la interfaz Web de todos los dispositivos MYSQLR64 y revise el estado de la replicación. En 5 minutos o menos, la replicación debería estar ejecutándose en todos los dispositivos.
Hay una tarea de cron que controla la replicación entre dispositivos de MYSQLR64. Si está activada la replicación, la tarea de cron se ejecuta cada dos minutos y envía alertas al cuadro de mandos del grid en los casos siguientes:
En estos casos, el usuario deberá resolver el problema manualmente.
En caso de fallo en la replicación, se puede utilizar la interfaz Web para corregir la situación, tal y como se describe en la sección arriba.
Hay una tarea de cron que controla la replicación entre dispositivos de MYSQLR64. Si está activada la replicación, la tarea de cron se ejecuta cada dos minutos y envía alertas al cuadro de mandos del grid en los casos siguientes:
En estos casos, el usuario deberá resolver el problema manualmente.
En caso de fallo en la replicación, se puede utilizar la interfaz Web para corregir la situación, tal y como se describe en la sección arriba.
El dispositivo MYSQLR64 informa sobre los siguientes contadores personalizados a través del terminal "mon".
Los contadores siguientes pertenecen al grupo de contadores de MySql:
|
Nombre del contador |
Descripción |
|
Aborted Clients |
Número de clientes anulados por el servidor. |
|
Aborted Connections |
Número de conexiones anuladas por el servidor. |
|
Bytes Received |
Número de bytes recibidos. |
|
Bytes Sent |
Número de bytes enviados. |
|
Total Connections |
Número de conexiones. |
|
Questions |
Número total de preguntas. |
|
Slow Queries |
Número de consultas lentas. |
|
Threads Created |
Número de subprocesos creados. |
|
Threads Connected |
Número de subprocesos conectados. |
|
Threads Running |
Número de subprocesos ejecutándose. |
|
Max Used Connections |
Número de conexiones máximas utilizadas. |
|
Open Files |
Número de archivos abiertos. |
|
Admin Commands |
Número de comandos de administrador. |
|
Alter Table Commands |
Número de comandos para modificar tabla. |
|
Analyze Commands |
Número de comandos de análisis. |
|
Change DB Commands |
Número de comandos para cambiar la base de datos. |
|
Change Master Commands |
Número de comandos para cambiar el principal. |
|
Check Commands |
Número de comandos de comprobación. |
|
Commit Commands |
Número de comandos de confirmación. |
|
Create DB Commands |
Número de comandos de creación de base de datos. |
|
Create Function Commands |
Número de comandos de creación de función. |
|
Create Index Commands |
Número de comandos de creación de índice. |
|
Create Table Commands |
Número de comandos de creación de tabla. |
|
Delete Commands |
Número comandos de supresión. |
|
Drop DB Commands |
Número de comandos para borrar la base de datos. |
|
Drop Function Commands |
Número de comandos para borrar función. |
|
Drop Index Commands |
Número de comandos para borrar el índice. |
|
Drop Table Commands |
Número de comandos para borrar tabla. |
|
Flush Commands |
Número de comandos de limpieza. |
|
Grant Commands |
Número de comandos de concesión. |
|
Insert Commands |
Número de comandos de inserción. |
|
Insert Select Commands |
Número de comandos de inserción de selección. |
|
Kill Commands |
Número de comandos de finalización. |
|
Load Commands |
Número de comandos de carga. |
|
Lock Tables Commands |
Número de comandos de bloqueo de tablas. |
|
Optimize Commands |
Número de comandos de optimización. |
|
Purge Commands |
Número de comandos de borrado definitivo. |
|
Rename Table Commands |
Número de comandos para renombrar tabla. |
|
Repair Commands |
Número de comandos de reparación. |
|
Replace Commands |
Número de comandos para reemplazar. |
|
Replace Select Commands |
Número de comandos para reemplazar selección. |
|
Reset Commands |
Número de comandos de restablecimiento. |
|
Revoke Commands |
Número de comandos de revocación. |
|
Rollback Commands |
Número de comandos de reversión. |
|
Select Commands |
Número de comandos de selección. |
|
Set Option Commands |
Número de comandos para establecer opción. |
|
Truncate Commands |
Número de comandos de truncamiento. |
|
Unlock Tables Commands |
Número de comandos de desbloqueo de tablas. |
|
Update Commands |
Número de comandos de actualización. |
Los mensajes siguientes pueden aparecer en el archivo de registro del dispositivo o en el registro del sistema del controlador de grid cuando el dispositivo falla al iniciarse:
|
Mensaje de error |
Descripción |
|
Failed to set timezone! |
No se pudo establecer la zona horaria del dispositivo de acuerdo con lo configurado mediante la propiedad de zona horaria. |
|
Appliance is running in [$rpl_mode] replication mode but binlogs volume is missing |
El dispositivo está configurado para ejecutarse como principal, secundario o master_and_slave, pero no se ha indicado ningún volumen binlogs. |
|
Appliance is running in [$rpl_mode] replication mode but the 'rout' terminal is not connected |
El dispositivo está configurado para ejecutarse como principal o master_and_slave, pero el terminal rout no está conectado. |
|
The 'rout' terminal is connected, but the [rpl_mode] property is set to 'none'. Either configure replication via the [rpl_mode] property or disconnect the 'rout' terminal |
El terminal rout está conectado, pero la propiedad [rpl_mode] está establecida en "none". Configure la replicación mediante la propiedad [rpl_mode] o desconecte el terminal rout. |
|
Failed to start mysql due to error_log_filename set and log terminal not connected! |
La propiedad error_log_filename está configurada, pero el terminal log no está conectado. |
|
Failed to mount share through log terminal! |
El dispositivo se ha configurado para escribir registros en el terminal log, pero se produjo un error al montar el recurso compartido en el terminal log. |
|
The share through the log terminal is not writeable! |
El recurso compartido en el terminal log no es de escritura. |
|
Failed to create logdir [$logdir] on the log terminal! |
No se pudo crear el directorio de registros [$logdir] en el terminal log. |
|
The logdir [$logdir] is not writeable! |
El directorio de registros [$logdir] en el terminal log no es de escritura. |
|
The logfile [$error_log] is not writable! |
El directorio de registros [$error_log] en el terminal log no es de escritura. |
|
Failed to create database! |
Se ha iniciado el dispositivo sin base de datos y se produjo un error al instalar las bases de datos MySQL. |
|
Failed to setup replication! |
El dispositivo dio error al configurar la replicación. |
|
Failed to start mysql! |
El daemon MySQL no se pudo iniciar. |
|
Insufficient permissions in the mysql database! |
Los permisos para "root'@'%" son insuficientes o, si se utiliza en el modo de replicación, "replication_user'@'%" no tiene permisos suficientes para ejecutar la replicación MySQL. |
|
Web interface failed to start! |
No se pudo iniciar la interfaz Web. |
|
The data volume size should be at least 100Mb |
El volumen data debe tener más de 100 megabytes. Consulte las notas sobre los requisitos de volumen. |
Además, pueden aparecer los errores siguientes en el cuadro de mandos del grid mientras el dispositivo se está ejecutando:
|
Mensaje de error |
Descripción |
|
Free space on the data volume is running low, please check! |
El espacio libre del volumen de datos es inferior al 20 %. |
|
Replication of master server is not running, please check! |
La replicación del servidor principal no se está ejecutando. |
|
Replication of slave is too much behind master, please check! |
La replicación del secundario va mucho más retrasada que la del principal. |
|
Free space on the binlogs volume is running low, please check! |
El espacio libre del volumen binlogs es inferior al 20 %. |
Aplicación de dos niveles simple (sin replicación)
El diagrama siguiente muestra un uso típico del dispositivo MYSQLR64 en una aplicación Web de dos niveles:

Dispositivos en uso:
La solicitud del cliente llega a la puerta de enlace user. La puerta de enlace reenvía las solicitudes al servidor Web, el cual sirve la solicitud. Cuando los scripts (por ejemplo, Perl o PHP) en web tienen que acceder a datos persistentes, usan el dispositivo db a través del terminal de salida del servidor Web. El dispositivo db se configura para almacenar sus archivos de registro dentro del directorio raíz del recurso compartido mostrado por los registros.
Mediante un explorador, los administradores se conectan a la puerta de enlace admin para consultar los archivos de registro de mysql o del servidor Web. La puerta de enlace admin envía las solicitudes al dispositivo NAS de registros.
Configuración de una propiedad de ejemplo (las propiedades que no se especifican deberían dejarse con sus valores predeterminados):
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
error_log_filename |
db.error |
Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros. |
|
error_log_level |
error |
Nivel de registro de errores. |
Nota: El volumen de datos se deberá configurar también en el dispositivo db, así como los dispositivos logs, content y mon. Para crear volúmenes de aplicaciones que se puedan utilizar aquí, consulte la guía del usuario del grid.
Aplicación de dos niveles escalable (sin replicación)
El diagrama siguiente muestra un uso típico del dispositivo MYSQLR64 en una aplicación Web de dos niveles en la cual la base de datos se utiliza para compartir el estado y los datos entre varios servidores Web con equilibrio de carga. Además, este ejemplo tiene una entrada independiente para mantenimiento a través de la cual un administrador puede iniciar sesión y acceder a la base de datos para mantenimiento, así como una entrada a través de la cual un administrador puede iniciar sesión y ver el registro de errores de mysql.

Dispositivos en uso:
La solicitud del cliente llega a la puerta de enlace user. La puerta de enlace reenvía las solicitudes al equilibrador de carga web_lb, el cual las dirige a uno de los servidores Web: web1 o web2. Los servidores Web acceden a la base de datos db.
La base de datos db y los servidores web1 y web2 escriben sus archivos de registro en el dispositivo de registros a través de los terminales de registro. Además, un administrador se puede conectar a través de la puerta de enlace maint al dispositivo de registros y consultar los archivos de registro.
Adicionalmente, un administrador se puede conectar por SSH a través de la puerta de enlace maint al servidor de administración (deben configurarse las claves públicas y privadas). Desde el servidor admin, el administrador puede acceder a la base de datos db para obtener estadísticas o cambiar el esquema de la base de datos. El servidor admin puede acceder a Internet a través de la puerta de enlace gway para, por ejemplo, descargar una versión más reciente de bibliotecas o el esquema de la base de datos.
Configuración de una propiedad de ejemplo (las propiedades que no se especifican deberían dejarse con sus valores predeterminados):
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
error_log_filename |
db.error |
Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros. |
|
error_log_level |
error |
Nivel de registro de errores. |
Notas:
Los dispositivos maint, admin, gway, mon y log no son necesarios para el funcionamiento de la aplicación de dos niveles. Si existen, el servidor admin puede tener tareas de cron para limpiar la base de datos, enviar correo electrónico, etc.
Aplicación de N niveles con replicación principal-secundario (apropiada para copias de seguridad)
El diagrama siguiente muestra un uso típico del dispositivo MYSQL en una aplicación Web en la cual la base de datos se replica a un servidor secundario. El servidor secundario se puede usar para hacer copias de seguridad consistentes de los datos sin detener el servidor principal, introduciendo así un tiempo de inactividad cero para la aplicación.

Dispositivos en uso:
La solicitud del cliente llega a la puerta de enlace user. La puerta de enlace reenvía las solicitudes al equilibrador de carga web_lb, el cual las dirige a uno de los servidores Web: web1 o web2. Los servidores Web acceden a la base de datos principal.
El dispositivo secundario se conecta al dispositivo principal y replica sus datos. Los dispositivos secundarios se pueden detener en cualquier momento para hacer copias de seguridad consistentes de los datos de SQL o los análisis de gran volumen sin interferir en el rendimiento del dispositivo principal y el resto de la aplicación.
El acceso Web a los dispositivos principales y secundarios está disponible a través de la puerta de enlace admin en los puertos 8080 y 8081.
Los dispositivos principal, secundario, web1 y web2 se configuran para almacenar sus archivos de registro dentro del directorio raíz del recurso compartido que muestran los registros. Además, un administrador puede ver los archivos de registro a través de la puerta de enlace admin.
Configuración de una propiedad de ejemplo (las propiedades que no se especifican deberían dejarse con sus valores predeterminados):
principal
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
error_log_filename |
master-db.error |
Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros. |
|
error_log_level |
error |
Nivel de registro de errores. |
|
server_id |
1 |
Servidor principal (no es obligatorio que sea 1; debe ser diferente del server_id del secundario). |
|
rpl_mode |
master |
Escribir registros binarios para la tarea de replicación. |
secundario
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
error_log_filename |
slave-db.error |
Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros. |
|
error_log_level |
error |
Nivel de registro de errores. |
|
server_id |
2 |
Servidor secundario (no es obligatorio que sea 2; debe ser diferente del server_id del principal). |
|
rpl_mode |
slave |
Conectarse al principal. |
Notas:
Los dispositivos admin, mon y log no son necesarios para el funcionamiento de la replicación.
Aplicación de N niveles con replicación principal-principal (apropiada para equilibrio de carga)
El diagrama siguiente muestra un uso típico del dispositivo MYSQLR64 en una aplicación Web en la cual la base de datos se replica a dos servidores en un escenario de replicación de principal-principal. En este caso, la aplicación usa servidores tanto WEB como MYSQLR64 durante la operación de equilibrio de carga. También, en el caso de que una de las instancias WEB/MYSQLR64 falle, la otra instancia WEB/MYSQLR64 se puede utilizar para evitar tiempo de inactividad en la aplicación.

Dispositivos en uso:
La solicitud del cliente llega a la puerta de enlace user. La puerta de enlace reenvía las solicitudes al equilibrador de carga web_lb, el cual las dirige a uno de los servidores Web: web1 o web2. web1 usa el dispositivo de base de datos db1 y web2 usa el dispositivo de base de datos db2. db1 y db2 se conectan para replicar las actualizaciones que los servidores Web hagan a la base de datos. Cada dispositivo MYSQLR64 utiliza un desplazamiento (igual a su server_id) para las columnas auto_increment, de manera que no se produzca duplicación de entradas.
El acceso Web a los dispositivos db1 y db2 está disponible a través de la puerta de enlace admin en los puertos 8080 y 8081.
Los dispositivos db1, db2, web1 y web2 se configuran para almacenar sus archivos de registro dentro del directorio raíz del recurso que muestran los registros. Además, un administrador puede ver los archivos de registro a través de la puerta de enlace admin.
Configuración de una propiedad de ejemplo (las propiedades que no se especifican deberían dejarse con sus valores predeterminados):
db1
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
error_log_filename |
db1.error |
Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros. |
|
error_log_level |
error |
Nivel de registro de errores. |
|
server_id |
1 |
Servidor principal (no es obligatorio que sea 1; debe ser diferente del server_id del secundario). |
|
rpl_mode |
master_and_slave |
Principal y secundario |
db2
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
error_log_filename |
db2.error |
Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros. |
|
error_log_level |
error |
Nivel de registro de errores. |
|
server_id |
2 |
Servidor principal (no es obligatorio que sea 1; debe ser diferente del server_id del secundario). |
|
rpl_mode |
master_and_slave |
Principal y secundario |
Notas:
Los dispositivos admin, mon y log no son necesarios para el funcionamiento de la replicación.
Aplicación de N niveles con replicación principal-principal de varios nodos (apropiada para equilibrio de carga)
El diagrama siguiente muestra un uso típico del dispositivo MYSQLR64 en una aplicación Web en la cual la base de datos se replica a cuatro servidores en un escenario de replicación principal-principal. En este caso, la aplicación usa todos los servidores WEB y MYSQLR64 durante la operación de equilibrio de carga. También, en el caso de que una de las instancias WEB/MYSQLR64 falle, las otras instancias WEB/MYSQLR64 se pueden utilizar para evitar tiempo de inactividad en la aplicación (MYSQLR64 no gestiona errores).

Dispositivos en uso:
La solicitud del cliente llega a la puerta de enlace user. La puerta de enlace envía las solicitudes al equilibrador de carga web_lb, el cual dirige la solicitud a uno de los servidores Web web1, web2, web3 y web4 . Cada servidor Web usa su propio dispositivo de base de datos. Todos los dispositivos de base de datos se conectan en círculo para replicar las actualizaciones que los servidores Web hacen en la base de datos. Así pues, una actualización en db1, por ejemplo, se replicará a db2, db3 y db4. Cada dispositivo MYSQLR64 utiliza un desplazamiento (igual a su server_id) para las columnas auto_increment, de manera que no se produzca duplicación de entradas.
El acceso Web a db1, db2, db3 y db4 está disponible a través de la puerta de enlace admin en los puertos 8080, 8081, 8082 y 8083.
Los dispositivos db1, db2, web1 y web2 se configuran para almacenar sus archivos de registro dentro del directorio raíz del recurso que muestran los registros. Además, un administrador puede ver los archivos de registro a través de la puerta de enlace admin.
Configuración de una propiedad de ejemplo (las propiedades que no se especifican deberían dejarse con sus valores predeterminados):
db1
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
error_log_filename |
db1.error |
Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros. |
|
error_log_level |
error |
Nivel de registro de errores. |
|
server_id |
1 |
Servidor principal 1 |
|
rpl_mode |
master_and_slave |
Principal y secundario |
db2
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
error_log_filename |
db2.error |
Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros. |
|
error_log_level |
error |
Nivel de registro de errores. |
|
server_id |
2 |
Servidor principal 2 |
|
rpl_mode |
master_and_slave |
Principal y secundario |
db3
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
error_log_filename |
db3.error |
Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros. |
|
error_log_level |
error |
Nivel de registro de errores. |
|
server_id |
3 |
Servidor principal 3 |
|
rpl_mode |
master_and_slave |
Principal y secundario |
db4
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
error_log_filename |
db4.error |
Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros. |
|
error_log_level |
error |
Nivel de registro de errores. |
|
server_id |
4 |
Servidor principal 4 |
|
rpl_mode |
master_and_slave |
Principal y secundario |
Notas:
Los dispositivos admin, mon y log no son necesarios para el funcionamiento de la replicación.
Aplicación de N niveles que se ejecuta en diferentes instalaciones (apropiada para equilibrio de carga y conmutación por error)
El diagrama siguiente muestra un uso típico del dispositivo MYSQLR64 en una aplicación Web que se ejecuta en más de una instalación. Con esta configuración podrá ejecutar dos o más aplicaciones idénticas en instalaciones diferentes replicando la base de datos a todas las aplicaciones en la configuración principal-principal. Esto es útil en dos casos:
Aplicación principal

Aplicación secundaria

Dispositivos en uso:
La solicitud del cliente llega a la puerta de enlace de usuario. La puerta de enlace reenvía las solicitudes al equilibrador de carga web_lb, el cual las dirige a uno de los servidores Web: web1 o web2. Los servidores Web acceden a la base de datos principal. El dispositivo principal se conecta a la aplicación remota (secundaria) para replicar la base de datos (siendo la única diferencia la propiedad server_id de secundario y la configuración de la red). La aplicación remota se conecta al dispositivo principal a través de la puerta de enlace vpn configurada para permitir establecer conexión solamente desde la puerta de enlace vpn de la aplicación remota. Los dispositivos principal y secundario en las dos aplicaciones se ejecutan en la configuración principal-principal, de modo que siempre tienen datos idénticos.
Configuración de una propiedad de ejemplo (las propiedades que no se especifican deberían dejarse con sus valores predeterminados):
El acceso Web a los dispositivos principales y secundarios está disponible a través de la puerta de enlace admin en el puerto 8080.
Principal
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
error_log_filename |
master-db.error |
Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros. |
|
error_log_level |
error |
Nivel de registro de errores. |
|
server_id |
1 |
Servidor principal (no es obligatorio que sea 1; debe ser diferente del server_id del secundario). |
|
rpl_mode |
master |
Escribir registros binarios para la tarea de replicación. |
VPN principal
|
Nombre de la propiedad |
Valor |
Notas |
|
mode |
server |
Funciona como servidor. |
|
tunnel |
certificates |
Uso de certificados SSL. |
|
tcp_ports |
3306,22 |
Permite usar los puertos que necesita MYSQLR64. |
|
ip_addr |
master_vpn_ip |
Dirección IP de la VPN en la aplicación principal. |
|
remote_host |
slave_vpn_ip |
Dirección IP de la VPN en la aplicación secundaria. |
slave
|
Nombre de la propiedad |
Valor |
Notas |
|
auto_create |
1 |
Crea la base de datos si los volúmenes están vacíos. |
|
error_log_filename |
slave-db.error |
Nombre del archivo de registro de errores que se almacenará en el volumen de datos de registros. |
|
error_log_level |
error |
Nivel de registro de errores. |
|
server_id |
2 |
Servidor secundario (no es obligatorio que sea 2; debe ser diferente del server_id del principal). |
|
rpl_mode |
slave |
Conectarse al principal. |
VPN secundario
|
Nombre de la propiedad |
Valor |
Notas |
|
mode |
client |
Funciona como cliente. |
|
tunnel |
certificates |
Uso de certificados SSL. |
|
auth_path |
"client1" |
Ruta al archivo de certificado SSL. |
|
ip_addr |
slave_vpn_ip |
Dirección IP de la VPN en la aplicación secundaria. |
|
remote_host |
master_vpn_ip |
Dirección IP de la VPN en la aplicación principal. |
La aplicación remota es una copia exacta, la única diferencia es la configuración de red de los dispositivos user, admin y vpn, las conexiones entre el dispositivo vpn y el principal=/=secundario, y el server_id del dispositivo principal=/=secundario (debería ser único).
Si necesita migrar de MYSQLR a MYSQLR64 (y viceversa), no debería utilizar los volúmenes del dispositivo de 32 bits en uno 64 bits (o viceversa), ya que se podrían dañar los datos. Para hacer esto se recomienda volcar la base de datos en el dispositivo antiguo, transferir el archivo volcado al dispositivo nuevo y, a continuación, importar la base de datos en el dispositivo nuevo. A continuación se indica el procedimiento para hacer esto:
La base de datos ya se ha transferido y el dispositivo está preparado para uso.
Tenga en cuenta lo siguiente:
Importante: Al crear usuarios para la base de datos, compruebe que todos los usuarios se crean sin restricciones en el host desde el que se conectan. Por ejemplo:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
http://dev.mysql.com/doc/refman/5.0/en/index.html: documentación de MySQL 5.0
MYSQLR64 utiliza los siguientes paquetes de fuente abierta/de terceros además de los paquetes de fuente abierta/de terceros que utiliza su clase base LUX64.
|
Software |
Versión |
Modificado |
Licencia |
Notas |
|
aspell |
0.60.3-7.1 |
No |
LGPLv2.1 |
N/D |
|
aspell-en |
6.0-2.1 |
No |
LGPLv2.1 |
N/D |
|
curl |
7.15.5-2 |
No |
MIT |
N/D |
|
device-mapper-event |
1.02.32-1 |
No |
GPLv2 |
N/D |
|
freetype |
1.02.32-1 |
No |
FTL |
N/D |
|
gmp |
4.1.4-10.el5 |
No |
LGPLV2.1 |
N/D |
|
libidn |
0.6.5-1.1 |
No |
LGPLv2.1 |
N/D |
|
libjpeg |
6b-37 |
No |
Distribuible |
N/D |
|
libpng |
1.2.10-7.0.2 |
No |
zlib/libpng |
N/D |
|
lvm2 |
2.6.26-2.1.2.8 |
No |
GPLv2.0 |
N/D |
|
mysql |
5.0.77-3.el5 |
No |
GPL |
N/D |
|
mysql-server |
5.0.77-3.el5 |
No |
GPLv2 |
N/D |
|
perl-DBD-MySQL |
3.0007-2.el5 |
No |
Artistic |
N/D |
|
perl-DBI |
1.52-2.el5 |
No |
Artistic |
N/D |
|
php-cli |
5.1.6-23.el5 |
No |
PHPv3.01 |
N/D |
|
php-common |
5.1.6-23.el5 |
No |
PHPv3.01 |
N/D |
|
php-gd |
5.1.6-23.el5 |
No |
PHPv3.01 |
N/D |
|
php-mbstring |
5.1.6-23.el5 |
No |
PHPv3.01 |
N/D |
|
php-mysql |
5.1.6-23.el5 |
No |
PHPv3.01 |
N/D |
|
php-pdo |
5.1.6-23.el5 |
No |
PHPv3.01 |
N/D |
|
rsync |
2.6.8-3.1 |
No |
GPLv2 |
N/D |
|
samba-client |
3.0.28-1.el5_2.1 |
No |
GPLv2 |
N/D |
|
samba-common |
3.0.28-1.el5_2.1 |
No |
GPLv2 |
N/D |
|
sudo |
1.6.8p12-10 |
No |
ISC |
N/D |
|
lighttpd |
1.4.18-1.el5.rf |
No |
BSD |
N/D |
|
perl-IPC-Run |
0.84-1.el5.rf |
No |
Artistic |
N/D |
|
perl-Time-Duration |
1.06-1.el5.rf |
No |
Artistic |
N/D |
|
phpMyAdmin |
2.11.10-1 |
No |
GPLv2 |
N/D |
Desde MYSQLR 1.6.2, se puede establecer o cambiar la contraseña para la cuenta de la base de datos raíz. Sin embargo, el dispositivo MSYQLR tiene algunas cuentas raíz con nombres de host diferentes. Cuando se establezca o cambie una contraseña, se deberá utilizar siempre la cuenta root@%. La cuenta root@% es la cuenta ante la que se autentican los dispositivos conectados al terminal de entrada de MYSQLR . Las otras cuentas raíz se utilizan solamente desde usuarios locales, y no se deberá establecer nunca una contraseña para ellos, ya que al hacerlo el dispositivo MYSQLR dará error al iniciarse.
Nota: Si deja la cuenta root@localhost sin contraseña, no incurrirá en un problema de seguridad, ya que sólo los usuarios locales pueden utilizar esta cuenta en el dispositivo y cualquiera con acceso al dispositivo podrá cambiar la contraseña.
Para recuperar un dispositivo que da error al iniciarse porque se ha cambiado la contraseña raíz de la base de datos, realice los pasos siguientes:
comp start main.MYSQLR --debug
app start --debug
Debería poder iniciar sesión en el dispositivo unos cuantos segundos después de iniciar el dispositivo. No es necesario esperar a que el dispositivo alcance el tiempo de espera.
mysql -p -e "update mysql.user set Password='' where User='root'"
mysqladmin -p flush-privileges
mysql -e 'update mysql.user set password=PASSWORD("NEWPASSWORD") where User="root" and Host="%"'
mysqladmin flush-privileges
Reinicie el dispositivo para comprobar que se inicialice y que las conexiones mysql en el terminal de entrada para la raíz de usuario requieran contraseña.
| Copyright © 2011 CA. Todos los derechos reservados. | Enviar correo electrónico a CA Technologies acerca de este tema |