Configuración de la replicación de bases de datos MySQL

Siempre se trata de datos. ¿Cuál es el uso de cualquier sistema sin los datos que se basa en?

La creación de una réplica de base de datos es uno de los muchos pasos que se deben tomar con el fin de conservar los datos, la prevención de los daños y hacer más fácil la recuperación de desastres.

Afortunadamente, es fácil con MySQL. Así que supongamos que tenemos dos servidores MySQL, una llamada host1 y el host2 otros.
La replicación puede ser maestro-maestro o maestro-esclavo. Con una replicación maestro-esclavo, el esclavo se replica siempre que la base de datos principal se está ejecutando. En la replicación maestro-maestro, ambas bases de datos se sincronizan entre otros.

A los efectos de este tutorial, un maestro-esclavo (en este caso host1 y host2, respectivamente) se examina el escenario.

En primer lugar, abra el archivo de configuración de MySQL en host1 (generalmente se encuentra en / etc / my.cnf en linux, y c: \ windows \ my.ini en Windows), y descomentar (eliminar el hash de) la siguiente línea:

# Skip-networking

En segundo lugar, es necesario especificar el archivo donde el maestro (host1) debe registrar (escribir) las consultas se está ejecutando. Esto permitirá a los esclavos (host2) para leer estas preguntas y ejecución de ellos. Por lo tanto, añadir una línea como:

log-bin = / ruta / hacia / mysql-bin.log

donde el valor anterior es la ruta al archivo donde MySQL debe hacer el registro. Podría muy bien crear un directorio independiente o usar el directorio por defecto de MySQL de instalación (por ejemplo c: \ archivos de programa \ mysql \ en Windows o en / var / lib / mysql en linux)

Entonces, es necesario especificar el nombre de la base de datos en cuestión. Así que si estás configuración de la réplica de una de sus bases de datos MySQL llamada "work_data ', entonces, esta es la línea que usted necesita para agregar a su configuración de MySQL:

binlog-do-db = work_data

Finalmente, es necesario especificar un ID de servidor, que dice que este es el servidor maestro

server-id = 1

Guarde el archivo de configuración y salir.
Ahora tiene que dar host2 el permiso para replicar los datos. Como tal, una consulta MySQL tiene que ser emitido en el maestro.

Así que en host1, acceso a la línea de MySQL (mysql-u root-pyour_root_password) (o PHPMyAdmin, etc ... todo lo que uso), y emitir la siguiente declaración:

conceder esclavo de replicación en *.* para ''@'%' nombre de usuario identificado por' contraseña ';

Asegúrese de cambiar nombre de usuario y una contraseña con una credencial de su elección. Mantenga las comillas simples sin embargo.
El signo% significa que el esclavo se puede conectar desde cualquier host. Si usted quiere que sea más seguro, sustituirla con host2 (el esclavo de nombre de host).

Después de todo lo anterior se hace, reinicie el servicio MySQL (servicio de mysqld restart (linux) o red de mysql stop, net start mysql (en Windows)).

Si la base de datos había datos anteriores, asegúrese de que lo descarga y la carga en el esclavo antes de hacer cualquiera de las anteriores. Volcado de datos es fácil y se puede hacer por cd'ing en el directorio bin de MySQL y la emisión de:

mysqldump-Q-u root-pyour_root_password DatabaseName> database_dump.sql

(Reemplazar la contraseña y el nombre de base de datos con el inicio de sesión correcto). La base de datos completa estará ahora en el archivo llamado database_dump.sql

Para la importación de host2, cd en el directorio bin de MySQL y edición:

mysql-u root-pyour_root_password DatabaseName </ ruta / a / la / archivo / database_dump.sql

El archivo de configuración de MySQL en host2 deben tener las siguientes líneas:

server-id = 2
master-host = host1
master-user = nombre de usuario
master-password = contraseña
master-port = 3306

donde host1 es el maestro de nombre de host / IP y nombre de usuario y la contraseña son las credenciales que utiliza en la concesión de acceso a la replicación de algunos pasos más arriba. 3306 es el puerto de MySQL se está ejecutando en (que es el predeterminado)

A continuación, iniciar el proceso de esclavos en el host2 mediante la emisión en el indicador de MySQL:

inicio de esclavos;

Para que la replicación esté laborables, la siguiente consulta SQL en host1:

muestran el estado de esclavos \ G

(Slave_SQL_Running y Slave_IO_Running debe informar "Sí")

Buena suerte

6 Comentarios

Robert 17 de septiembre 2008 a las 10:49 AM

Grandes, justo lo que necesitaba. Ahora ... ¿Es posible establecer varios dispositivos maestro para replicar en el servidor de un solo esclavo?. Me pregunto esto porque estoy tratando de configurar una topología de Active-Stanby en el que, si uno de los Maestros falla podría reemplazar temporalmente por el servidor esclavo. Gracias

admin 17 de septiembre 2008 a las 11:25 AM

Querido Robert,
¿Qué acerca de la ejecución de múltiples servicios de MySQL en el equipo esclavo? Cada uno de ellos se ejecuta en un puerto diferente y dependería de un maestro diferente.

Robert 23 de septiembre 2008 a las 13:44

Eso es genio! , Aunque voy a tener que cambiar la forma en que los usuarios se conecta a la base de datos con el fin de hacer una transición sin problemas en el caso de un fallo.

admin 23 de septiembre 2008 a las 4:58 pm

Usted puede configurar un servicio local de DNS, y hacer que los usuarios utilizan un nombre de host (en casos normales, que apunta a la maestra) para acceder a su servicio.
En caso de fallo, sólo tiene que cambiar el registro DNS de ese nombre para apuntar a la máquina esclava.
Los usuarios no notarán el cambio si se cambia la IP que se resuelve el nombre de host para.

host2 01 de abril 2010 a las 20:02

[...] Permite añadir o eliminar nodos del clúster sin necesidad de reconfigurar clients.Tips y trucos Creación de base de datos MySQL replicationSo supongamos que tenemos dos servidores MySQL, una llamada host1 y el host2 otros. ... Si [...]

suppliments naturales 29 de diciembre 2011 a las 5:56 AM

He leído algunos de los artículos en su sitio web ahora, y me gusta mucho su estilo de los blogs. He añadido a mi lista de sitios favoritos del blog y se revise de nuevo pronto. Por favor visite mi sitio web, así y quiero saber lo que piensas.

suppliments naturales

Deja un comentario

Su comentario