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 p>
server-id = 1 //1 es maestro, 2 es ungüento
Agregue dos líneas:
sql-bin-update-same //Formulario de sincronización p>
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 p>
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; p>
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) p>
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.