estructuras de MySQL Cluster (aisladas a partir de la copia maestra, leer y escribir)

A, MySQL múltiples instancias

(A), MySQL introducen múltiples instancias

1. ¿Qué es multi-instancia de MySQL

MySQL multi-instancia es abrir en una sola máquina múltiples diferentes puertos de servicio (tales como: 3306,3307,3308), proceso de servicio MySQL múltiple correr, a través de diferentes socket de escucha diferentes puertos de servicio para proporcionar sus servicios.

2, MySQL características multi-instancia son la siguiente

(1), el uso eficiente de los recursos del servidor, el servidor cuando los recursos restantes individuales, los recursos restantes pueden tomar ventaja de proporcionar más servicios.

(2) guardar los recursos del servidor

(3), el problema de preferencia uno con el otro, cuando una instancia de servicio o servicio de alta concurrente convierten consulta lenta consumirá más memoria, CPU, disco recursos IO, causando otros casos en el servidor para proporcionar la calidad de disminución servicio;

3, el despliegue de múltiples instancias de dos maneras MySQL

(1), primero es utilizar varios archivos de configuración para iniciar procesos diferentes para lograr multi-ejemplo, la ventaja de este enfoque es simple lógica, la configuración simple, la desventaja no es muy fácil de manejar;

(2), la segunda es a través del propio del funcionario mysqld_multi para implementar múltiples instancias utilizar un archivo de configuración independiente, este enfoque no es una configuración personalizada para cada instancia de aspectos, ventajas, el manejo es muy conveniente, la gestión centralizada;

4, instalar varias bases de datos, los siguientes asuntos deben ser abordados en el mismo entorno de desarrollo

(1), la ruta del archivo de configuración de instalación no puede ser el mismo

(2), el directorio de base de datos no puede ser el mismo

(3), la secuencia de comandos no se inicia con el mismo nombre

(4), el mismo puerto no puede

(5), no se puede generar el mismo camino socket

(B), copia el principio maestro-esclavo

MySQL replicación maestro-esclavo es una característica que viene con ella misma MySQL, no requiere software adicional de terceros se puede lograr , no es una función de copia para copiar archivos de lograr, pero con el archivo de registro binlog maestro dentro de los comandos SQL implementadas desde copiar, y entonces se puede entender como una implementación del lado del maestro de comandos SQL, se llevará a cabo de nuevo en el mismo extremo Salve, a fin de lograr la replicación maestro-esclavo.

Host MySQL dmlMySql (crear, actualizar, eliminar, insertar, que no incluye una consulta SQL) declaración escrita al archivo de registro binario (binlog).

Biblioteca se genera a partir de dos hilos, uno de E / S hilo, un hilo SQL ; i / o hilo solicitudes binlog a la biblioteca principal, y escribe el registro de relé obtenido binlog log (log retardado) de archivos;

biblioteca primaria genera un hilo de volcado de registro, de una biblioteca utilizada para i / o hilos de pasar el binlog ; el flujo SQL lee el archivo de registro de log retardado, y analiza en operación específica para lograr un funcionamiento maestro-esclavo consistente, y finalmente datos coherentes;

IO es un hilo después de obtener los binarios desde el host, los binarios de ejecución por hilos SQL: el papel de un nodo en hilo de SQL. sql hilos dependen de hilo IOx .

De largo conectado biblioteca principal de la biblioteca se creará un problema puede surgir si los datos no está sincronizado con la red genera un retraso.

Nota: MySQL replicación maestro-esclavo es MySQL viene con su propia función. Mycat separadas de lectura y escritura y hacer Nginx similar.

Si has borrado accidentalmente datos pueden ser recuperados desde el registro de log binario.

configuraciones de replicación maestro-esclavo Dos, MySQL

La dirección del servidor nodo maestro 192.168.1.105

Desde la dirección del servidor de nodo 192.168.1.107

(A), la configuración del nodo servidor maestro

1. Vaya a la página de configuración de comandos

   que /etc/my.cnf

2. Configurar el servidor server_id Identificación

3 en el presente documento después de server_id posible configurar la dirección del servidor para ser utilizado para distinguir

  server_id = 234

3. Activar el archivo de registro (log binario)

  log-bin = mysql-bin

La dirección debe estar en el fichero de configuración: # recomendados en la configuración estándar de MySQL, de lo contrario la configuración no funciona

Como se muestra en la figura.

 

4. Reinicie el servicio MySQL

Reiniciar el servicio mysqld

Compruebe que la configuración se ha realizado:

5. Variables espectáculo como '% server_id%' ;

Server_id capaz de consultar la descripción correspondiente en el fichero de configuración se ha configurado correctamente, como se muestra, la configuración es correcta. server_id = 234

 

6. muestran el estado maestro;

Capaz de ver los archivos sincronizados, y el número de líneas se han configurado correctamente.

 

En tercer lugar, desde el nodo servidor

1. Vaya a la página de configuración de comandos

   que /etc/my.cnf

2. Configurar el servidor de Identificación del server_id

3 en el presente documento después de server_id posible configurar la dirección del servidor para ser utilizado para distinguir

  server_id = 30

3. Activar el archivo de registro (log binario)

  log-bin = mysql-bin

4. Añadir la base de datos de sincronización requerida

binlog_do_db = prueba  

5. Reiniciar el servicio MySQL

Reiniciar el servicio mysqld

Compruebe que la configuración se ha realizado

6. variables muestran como '% server_id%';

server_id instrucciones corresponden a consultar el archivo de configuración se ha realizado con éxito

configuración del servidor 7. sincronización desde el servidor principal

MASTER_HOST dirección del servidor primario

Nombre de usuario del servidor principal master_user

master_password contraseña maestra

MASTER_LOG_FILE archivo de configuración del servidor principal

MASTER_LOG_POS posición principal de configuración del servidor de la lectura de archivos de inicio, es decir, la cantidad para iniciar la lectura desde la primera fila.

maestro de modificación a MASTER_HOST = '192.168.1.107', master_user = “用户 名”, master_password = “密码”, MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 120;

8. Iniciar sincronización

esclavo inicio

9. Comprobar el estado de la replicación del servidor

SHOW SLAVE STATUS

Si dos servidor maestro clonación desde el servidor , el caso será esta vez aparece a continuación, dos servidores son el mismo servidor-uuid como clon terminado. Esta vez no se llevará a cabo SHOW SLAVE STATUS Slave_IO_Running en no y, a Slave_SQL_Running Sí. Nota IO error de sincronización, el mensaje de error se puede ver en el campo Last_IO_Error, de la siguiente manera. Es decir, el mensaje de error es la repetición del servidor-uuid. La siguiente figura muestra el efecto de las cuales es la.

Fatal error: El hilo esclavo I / O se detiene porque maestro y el esclavo tienen UUID iguales servidor MySQL; UUID estos deben ser diferentes para la replicación de trabajo.

Si esto sucede, es necesario / var / lib / mysql  archivos generados en la eliminación del archivo UUID y reinicie el servicio MySQL se regenera en un servidor-uuid, Figura 2 también muestra este regenera el UUID de servidor.

Si el servidor no se clona desde el servidor maestro, pero re-instalado , entonces no va a suceder. Ejecutar directamente  SHOW SLAVE STATUS comando, como se muestra a continuación. Se indica una sincronización correcta

Almacenar la dirección del servidor-uuid, puede /etc/my.cnf archivo de vista

¿Cómo construir una exitosa prueba nuestro cluster de replicación maestro-esclavo MySQL?

Nueva prueba de nodo del servidor de base de datos primaria 234, si el nodo 30 (desde el servidor) puede sincronizar a través de, a continuación, el éxito estructuras del medio ambiente.

Si la sincronización falla, modificado como sigue:

mostrar variables como '% server_id%';

mostrar el estado maestro;

STOP SLAVE;

conjunto global sql_slave_skip_counter = 1;

iniciar esclavo;

SHOW SLAVE STATUS;

 

nota:

1. Recuerde que operan desde el servidor de sólo lectura, no opera CRUD. Para mantener los datos sincronizados, de modo que cuando una falla en el servidor, el otro puede ir a la parte superior (de hecho, cuando el servidor principal se interrumpa quiere desprenderse definitivamente pérdida de los datos más recientes ).

2. Desde el servidor deben ancho de banda> = maestro del servidor, reduciendo al mínimo retardo de sincronización. Si el pequeño tubo, lo natural sincronización lenta paso.

Publicado cinco artículos originales · ganado elogios 4 · Vistas 174

Supongo que te gusta

Origin blog.csdn.net/zhuxiang997/article/details/105064509
Recomendado
Clasificación