¿Ubicación del registro de errores?

15

¿MySQL escribe algún archivo de registro? En caso afirmativo, ¿cuál es la ruta de acceso (en ubuntu / Linux)?

Maulik Patel
fuente

Respuestas:

11
  • Registro general - todas las consultas - ver VARIABLE general_log
  • Registro lento - consultas más lentas que long_query_time-slow_query_log_file
  • Binlog - para replicación y respaldo - log_bin_basename
  • Registro de retransmisión: también para replicación
  • errores generales mysqld.err
  • inicio / parada - mysql.log(no muy interesante) -log_error
  • InnoDB redo log - iblog*

Vea la variable basediry la datadirubicación predeterminada para muchos registros

Algunos registros son activados / desactivados por otras VARIABLES. Algunos se escriben en un archivo o en una tabla.

Rick James
fuente
3

Los registros de MySQL están determinados por variables globales como:

  • log_error para el registro de mensajes de error;
  • general_log_filepara el archivo de registro de consulta general (si está habilitado por general_log);
  • slow_query_log_filepara el archivo de registro de consulta lenta (si está habilitado por slow_query_log);

Para ver la configuración y las ubicaciones de los registros, ejecute este comando de shell:

mysql -se "SHOW VARIABLES" | grep -e log_error -e general_log -e slow_query_log

Gracias a @kenorb en /programming//a/37685324/470749

Ryan
fuente
2

Sí, MySQL escribe un archivo de registro.

Su ruta es /var/log/mysql.log, definida en la log_errorvariable de configuración.

También hay un archivo de registro para errores /var/log/mysql.err

Brijesh Goswami
fuente
2

Aparte del registro de errores en Windows, ninguno de los registros de MySQL está habilitado. Esto es para maximizar los recursos del servidor para la base de datos. Por esa razón, es recomendable activarlos según sea necesario.

Eso también puede dificultar saber qué registros están habilitados en un momento dado. Por esa razón, me gusta tener todas mis variables de configuración en un solo lugar para poder buscarlas rápidamente. Hay algunas herramientas GUI que son buenas para esto. Yo personalmente uso Navicat para MySQL y Navicat Premium .

Ambos tienen una herramienta de monitoreo que contiene una pestaña con todas las variables del servidor en una lista completa.

variables de servidor general_log y general_log_file en la herramienta Navicat Server Monitor

¡Atentamente!

Rob Gravelle
fuente
Por desgracia, eso solo establecerá el valor hasta el próximo reinicio. OTOH, el registro general es un disco duro, por lo que generalmente es bueno apagarlo inmediatamente después de obtener la información que necesita. (Otros registros probablemente pueden dejarse ENCENDIDOS.)
Rick James
1

Ejecute el siguiente comando en la Terminal para encontrar la ruta exacta:

 mysqladmin variables | grep log_error
Sachin Singh
fuente
1

Los archivos de registro generalmente se encuentran en /var/log/. Los archivos de registro del servidor MySQL generalmente se identifican por mysql.nameOfLogFile.

Héctor
fuente
1

Un poco tarde aquí

Puede encontrar la ubicación actual del archivo de registro dentro de MYSQL inspeccionando las variables globales.

Por ejemplo, a continuación se mostrará si su general_log está activado o desactivado y la ubicación de general_log_file en su sistema.

SHOW GLOBAL VARIABLES LIKE '%general%';
Jon
fuente