Red de conocimiento del abogados - Preguntas y respuestas jurídicas - Enseñarle cómo sincronizar entre dos bases de datos MySQL_MySQL

Enseñarle cómo sincronizar entre dos bases de datos MySQL_MySQL

Al realizar el desarrollo se requiere la sincronización de la base de datos MySQL. Los dos sistemas tienen la misma instalación, ambos son FreeBSD5.4 y están instalados PHP 4.4.0. 15. , son las últimas versiones actualmente.

1. Instalación y configuración

Dos servidores, MySQL se instala por separado y ambos se instalan en el directorio /usr/local/MySQL (los pasos de instalación se omiten, consulte Los documentos relevantes) Las IP de los dos servidores son 192.168.0.1 y 192.168.0.2 respectivamente. Usamos 192.168.0.1 como base de datos maestra y 192.168.0.2 como servidor esclavo. Los datos del maestro son los datos del maestro, y luego el esclavo toma la iniciativa de sincronizar los datos con el maestro.

Las configuraciones de los dos servidores son las mismas. Copiemos los archivos de configuración clave. Los archivos de configuración predeterminados están en el directorio /usr/local/MySQL/share/MySQL, y están my-large. cnf y my-medium.cnf, my-small.cnf y otros escritores, solo estamos probando, solo use my-medium.cnf. Después de instalar MySQL, el archivo de configuración predeterminado se especifica en el directorio de almacenamiento de la base de datos. Estamos usando 4.1.X, por lo que el archivo de configuración debe estar en el directorio /usr/local/MySQL/var, así que copie el archivo de configuración allí.

cp /usr/local/MySQL/share/MySQL/my-medium.cnf /usr/local/MySQL/var/my.cnf

Dos servidores hacen lo mismo Copiar configuración operación de archivos.

2. Configurar el servidor Maestro

Necesitamos configurar 192.168.0.1 como servidor MySQL principal (maestro), luego tenemos que considerar qué base de datos necesitamos sincronizar y qué usuario. para usar para la sincronización Por razones de simplicidad, aquí usamos el usuario raíz para la sincronización y solo necesitamos sincronizar la base de datos abc.

Abra el archivo de configuración:

vi /usr/local/MySQL/var/my.cnf

Encuentre la siguiente información:

# ID única requerida entre 1 y 2^32 - 1

# el valor predeterminado es 1 si el host maestro no está configurado

# pero no funcionará como maestro si se omite

server-id = 1 //1 es maestro, 2 es ungüento

Agregue dos líneas:

sql-bin-update-same //Formulario de sincronización

binlog-do-db = abc //Base de datos a sincronizar

Reinicia el servidor MySQL 192.168.0.1:

/usr/local/MySQL/bin/MySQLadmin apagado

/usr/local/MySQL/bin/MySQLd_safe --user=MySQL amp;

3. Configurar el servidor esclavo

Nuestro servidor esclavo toma principalmente la iniciativa para El servidor maestro sincroniza los datos nuevamente y editamos el archivo de configuración:

vi /usr/local/MySQL/var/my.cnf

Encuentre información similar a continuación:

# ID única requerida entre 1 y 2^32 - 1

# el valor predeterminado es 1 si el host maestro no está configurado

# pero no funcionará como un maestro si se omite

server-id = 1

Cambie el server-id anterior a 2 y agregue algo de información:

server-id = 2 // Este MySQL es un Servidor esclavo

master-host = 192.168.0.1 //IP del servidor maestro

master-user = root //Usuario que se conecta al servidor maestro

master-password= '' //Contraseña para conectarse al servidor maestro

master-port = 3306 //Puerto de conexión

master-connect-retry = 10 / /Número de reintentos

replicate-do-db = abc //Base de datos a sincronizar

log-slave-updates //Formulario de sincronización

Reiniciar MySQL servidor en 192.168.0.2:

/usr/local/MySQL/bin/MySQLadmin apagado

/usr/local/MySQL/bin/MySQLd_safe --user=MySQL amp;

4. Pruebe la instalación

Primero verifique el registro del host del esclavo:

cat /usr/local/MySQL/var/xxxxx_err (xxx es el nombre del host)

Comprueba si la conexión es normal, lo lograrás cuando veas información como esta

051031 1

1:42:40 MySQLd iniciado

051031 11:42:41 InnoDB: iniciado; número de secuencia de registro 0 43634

/usr/local/MySQL/libexec/MySQLd: listo para conexiones .

Versión: '4.1.15-log' socket: '/tmp/MySQL.sock'

puerto: 3306 Distribución fuente

051031 11:42 : 41 [Nota] Subproceso SQL esclavo inicializado,

iniciando la replicación en el registro 'PRIMERO'

en la posición 0, registro de retransmisión './new4-relay-bin.000001' posición: 4

051031 11:43:21 [Nota] E/S esclava

hilo: conectado al maestro 'root@192.168.0.1:3306',

la replicación comenzó en el registro 'PRIMERO' en la posición 4

Ver información en Master

/usr/local/MySQL/bin/MySQL -u root

Ver master Estado:

MySQLgt; mostrar estado maestro

Ver información del proceso MySQL en Maestro:

mostrar lista de procesos

En esclavo; Ver información sobre: ​​

/usr/local/MySQL/bin/MySQL -u root

Ver estado del esclavo:

MySQLgt; mostrar estado del esclavo;

p>

p>

Ver la información del proceso MySQL en el esclavo:

MySQLgt; show Processlist

Luego puede crear una estructura de tabla en la biblioteca abc; el maestro e inserte datos, y luego verifique si el esclavo tiene Sin sincronizar estos datos, puede verificar si la configuración se realizó correctamente.

Finalmente, si está interesado, puede estudiar la copia de seguridad en caliente con doble clic o la implementación de sincronización de un maestro y varios esclavos.