Tecnología

Inicio

La replicación MySQL Tutorial

MySQL proporciona replicación asíncrona en el que un servidor de base de datos principal se replica en uno o más servidores esclavos. Puede configurar la replicación para incluir todas o seleccionar sólo las tablas de bases de datos o seleccione. La replicación le permite distribuir la carga de trabajo entre varios esclavos, realizar copias de seguridad de los esclavos sin corromper el maestro, realizar análisis sobre los esclavos sin afectar el desempeño del maestro y distribuir los datos a través de largas distancias.

Los basicos

La replicación se realiza a través de los registros binarios. Estos registros contienen todos los estados de actualización de datos, incluyendo las declaraciones que podrían potencialmente actualizar los datos pero no lo hacen. El servidor maestro registra todos los estados, y el servidor está configurado para recibir una copia del registro. Los esclavos se pueden configurar para ejecutar todo el registro o sólo partes de la misma (tales como únicos eventos en ciertas bases de datos).

La información de replicación se almacena en un archivo llamado "master.info", que se crea con el "maestro de modificación A" comunicado. Este archivo contiene información sobre el nombre de host del maestro, el nombre de archivo de registro y la posición que debe leerse en el archivo de registro.

El usuario de replicación

El esclavo se conectará al maestro por medio de una cuenta estándar de MySQL con un " 'esclavo de replicación" privilegio. El nombre de usuario y la contraseña para esta cuenta se almacenan como una entrada de texto sin formato en el archivo "master.info", así que lo mejor es crear un usuario que sólo tiene los privilegios de replicación.

archivos de configuración

El maestro debe tener habilitado el registro binario para el intercambio de datos. También se debe configurar con un valor único id_servidor. Estos valores se establecen a través del archivo "my.cnf" que se lee cuando se inicia el servidor. Los valores se colocan en la sección "[mysqld]" con la siguiente sintaxis:

[Mysqld]
log-bin = mysql-bin
server-id = 1

El esclavo también debe estar configurado con una única "server-id" a través del archivo "my.cnf". el registro binario no tiene que estar habilitado, pero puede ser útil para las copias de seguridad de datos y recuperación de desastres.

Replicación

Para la replicación se inicia correctamente, en primer lugar limpiar el registro binario principal con los "FLUSH TABLES WITH READ LOCK;" comunicado. A continuación, utilice la opción "Mostrar Master Estado" declaración para determinar el nombre del archivo de registro binario y la posición de desplazamiento.

Crear una instantánea de los datos en la base de datos principal con la utilidad "mysqldump". Desde la línea de comandos del sistema operativo, tipo "mysqldump --all-bases de datos --lock-all-tables> dbdump.db". Entonces, desde el cliente mysql, escriba el "TABLAS DE DESBLOQUEO;" declaración para liberar el bloqueo de lectura. Copiar el archivo "dbdump.db" a cada uno de los esclavos con el comando "mysql <dbdump.db" emitida desde el indicador de comandos del sistema operativo.

Por último, configurar los esclavos para conectar con el maestro con el siguiente comando:

CHANGE MASTER TO MASTER_HOST = 'master_host_name', MASTER_USER = 'replication_user_name', MASTER_PASSWORD = 'replication_password', MASTER_LOG_FILE = 'recorded_log_file_name', MASTER_LOG_POS = recorded_log_position
IR

Cambiar los valores de las variables para reflejar la información para su sistema.