MySQL proporciona replicación asíncrona en la que un servidor de base de datos principal se duplica en uno o más servidores esclavos. Puede configurar la replicación de incluir todos o seleccione las bases de datos o sólo las tablas seleccionadas. Replicación le permite distribuir la carga de trabajo entre varios esclavos , realizar copias de seguridad de los esclavos sin corromper el maestro , realiza un análisis de los esclavos sin afectar el desempeño del maestro y distribuir los datos a través de largas distancias. The Basics
replicación se realiza a través de los registros binarios . Estos registros contienen todas las declaraciones que actualizan datos , incluyendo 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 ( por ejemplo, sólo en ciertas bases de datos de eventos ) .
La información de replicación se almacena dentro de un archivo llamado " master.info , " que se crea con el " CHANGE MASTER TO" declaración. Este archivo contiene información sobre el nombre de host del master , el nombre del archivo de registro y la posición para ser leídos en el archivo de registro .
La replicación de usuarios
El esclavo se conectará a la maestra con una cuenta MySQL estándar con el " esclavo de replicación " privilegio. El nombre de usuario y la contraseña de 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 tenga los privilegios de replicación.
< br > Archivos de configuración
el maestro debe tener habilitado el registro binario para el intercambio de datos. También debe estar configurado con un valor único servidor - Identificación . 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- binserver -id = 1
El esclavo también se debe configurar con un "server -id" único a través del archivo " my.cnf " . El registro binario no tiene que estar habilitado , pero puede ser útil para copias de seguridad de datos y recuperación de desastres .
Replicación
Para la replicación se inicia correctamente , previamente debe limpiar el log binario maestro con los " FLUSH TABLES WITH READ LOCK ; " declaración. Luego utilice la sentencia " SHOW MASTER STATUS" para determinar el nombre del archivo de registro binario y el desplazamiento posición.
Crear una instantánea de los datos en la base de datos principal con la utilidad " mysqldump " . Desde el símbolo del sistema operativo del sistema, escriba " mysqldump - all -databases - lock -all -tables > dbdump.db " . Entonces , desde el cliente mysql , escriba los " UNLOCK TABLES ; " declaración para liberar el bloqueo de lectura . Copie el archivo " dbdump.db " para cada uno de los esclavos con el comando " mysql < dbdump.db " emitido por el mandato del sistema operativo.
Finalmente , configure los esclavos para conectar con el maestro con el siguientes comandos:
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 ;
Cambiar los valores de las variables para reflejar la información de su sistema.