Solución de problemas de MYSQL y optimización del entorno de producción

Solución de problemas de MySQL y optimización del entorno de producción

1. Implementación de casos: fallas comunes de una sola instancia de MySQL

Fallo 1

1. Fenómeno de falla

ERROR 2002 (HY000): No se puede conectar al servidor MySQL local a través del socket "/data/mysq/mysql.sock '(2)

2. Análisis de problemas

La base de datos no se inicia o el puerto de la base de datos está bloqueado por el firewall

3. Solución

Inicie la base de datos o abra el puerto de escucha de la base de datos en el firewall

Falla dos

1. Fenómeno de falla

ERROR 1045 (28000): Acceso denegado para el usuario 'root @' localhost (usando contraseña: NO)

2. Análisis de problemas

Contraseña incorrecta o sin acceso

3. Solución

Modifique el archivo de configuración principal de my.cnf y agregue tablas skip-grant en [mysqld]

  • update actualiza el campo authentication_string de la tabla de usuarios
  • Reautorizar.

Falla tres

1. Fenómeno de falla

El problema de la conexión remota lenta a la base de datos ocurre ocasionalmente cuando se usa una conexión remota a la base de datos

2. Análisis de problemas

Resolución de DNS lenta, demasiadas conexiones de cliente

3. Solución

  • Modifique el archivo de configuración principal my.cnf (agregue el parámetro skip-name-resolve)
  • La autorización de la base de datos prohíbe el uso de nombres de host

Falla cuatro

1. Fenómeno de falla

No se puede abrir el archivo: 'xxX_ forums.MYI'. (errmno: 145)

2. Análisis de problemas

  • El servidor se apaga de manera anormal, el espacio donde se encuentra la base de datos está lleno o alguna otra razón desconocida causa daños en la tabla de la base de datos
  • El grupo de pertenencia del archivo ha cambiado debido a la copia de la base de datos

3. Solución

  • Tabla de datos de reparación (myisamchk, phpMyAdmin)
  • Modificar el grupo del archivo

Falla cinco

1. Fenómeno de falla

ERROR 1129 (HY000): El host xxx.oxx.xxx.xxx está bloqueado debido a muchos errores de conexión; desbloquear con 'mysqladmin flush-hosts'

2. Análisis de problemas

Se superó el número máximo de errores de conexión

3. Solución

  • Limpiar la caché (palabra clave flush-hosts)
  • Modificar mysq | archivo de configuración (max_ connect_ errors = 1000)

Falla seis

1. Fenómeno de falla

Demasiadas conexiones

2. Análisis de problemas

El número de conexiones supera el límite máximo de conexiones de MySQL

3. Solución

  • Modificar el archivo de configuración de MySQL (max_ connections = 10000)
  • Modifique temporalmente los parámetros: configure GLOBAL max_ connections = 10000;

Falta siete

1. Fenómeno de falla

Advertencia: El archivo de configuración de escritura mundial /etc/my.cnf se ignora ¡ERROR! MySQL se está ejecutando pero no se pudo encontrar el archivo PID

2. Análisis de problemas

Problema de permisos del archivo de configuración de MySQL /etc/my.cn

3. Solución

chmod 644 /etc/my.cnf

Falla ocho

1. Fenómeno de falla

InnoDB: Error: página 14178 número de secuencia de registro 29455369832
InnoDB: ¡está en el futuro! Número de secuencia de registro del sistema actual 29455369832

2. Análisis de problemas

El archivo de datos Innodb está dañado

3. Solución

Modifique el archivo de configuración my.cnf (innodb_ force_recovery = 4)

Realice una copia de seguridad de los archivos de datos después de iniciar la base de datos

Use archivos de respaldo para restaurar datos

2. Implementación del caso: fallas comunes del entorno maestro-esclavo de MySQL

Falla uno

1. Fenómeno de falla

Slave_ I0_ La ejecución desde la biblioteca es NO

El hilo de E / S esclavo se detiene porque el maestro y el esclavo tienen los mismos identificadores de servidor MySQL; estos identificadores deben ser diferentes para que la replicación funcione (o la opción --replicate-same-server-id debe usarse en el esclavo, pero esto no siempre tiene sentido; consulte el manual antes de usarlo).

2. Análisis de problemas:

El valor de ID de servidor de la biblioteca principal y la biblioteca esclava son los mismos

3. Solución

  • Modifique el valor de ID de servidor de la biblioteca esclava para que sea diferente de la biblioteca principal
  • Reinicie la base de datos y vuelva a sincronizar

Falla dos

1. Fenómeno de falla:

Slave_ I0_ La ejecución desde la biblioteca es NO

2. Análisis de problemas:

Los conflictos de claves primarias o la base de datos primaria elimina o actualiza datos, el registro no se puede encontrar en la base de datos y los datos se modifican.

3. Solución

  • 方法 一
    mysql> detener esclavo;
    mysql> establecer GLOBAL SQL_SLAVE_ SKIP_COUNTER = 1;
    mysql> iniciar esclavo;
  • El método dos
    establece global read_ only = true;

Falla tres

1. Fenómeno de falla

Error al inicializar la posición del registro del relé: error 1/0 al leer el encabezado del registro binario

2. Análisis de problemas

La bandeja de retransmisión del registro de retransmisión de la biblioteca está dañada

3. Solución

Repare manualmente, encuentre los puntos binlog y pos sincronizados nuevamente, y luego vuelva a sincronizar
mysql> CHANGE MASTER TO MASTER_LOG_FILE = 'mysql-bin.xx', MASTER_LOG_POS = xxx;

3. Implementación de casos: optimización de MySQL

1. Optimización de hardware

  • CPU: se recomienda utilizar CPU simétrica multicanal de arquitectura SMP
  • RAM: RAM física por encima de 4 GB
  • Disco: matriz de discos RAID-0 + 1 o unidad de estado sólido

2. Optimización del archivo de configuración de MySQL

  • Ajustar elementos de configuración

3. Optimización de SQL

  • Intente utilizar un arco de cable | Compruebe
  • Optimizar la paginación
  • GRUPO POR optimización

4. Optimización de la arquitectura MySQL

  • Opciones de arquitectura: maestro-esclavo, maestro-maestro, un maestro-múltiples esclavos, múltiples maestros-múltiples esclavos

Supongo que te gusta

Origin blog.csdn.net/weixin_39608791/article/details/108444813
Recomendado
Clasificación