MySQL: registro de consultas, registro binario, registro de errores, registro de consultas lentas

1. Registro de errores

El registro de errores es uno de los registros más importantes en MySOL. Registra la información relevante cuando mvsald se inicia y se detiene, y cuando ocurre algún error grave durante la ejecución del servidor. Cuando ocurre alguna falla en la base de datos y no se puede usar normalmente, se recomienda verificar primero este registro.
El registro está habilitado de forma predeterminada, se almacena en el directorio /var/log/ de forma predeterminada y el nombre del archivo de registro predeterminado es mysqld.log. Ver ubicación del registro:

Ver directiva de ruta de registro de errores

show variables like '%log_error%';

inserte la descripción de la imagen aquí

2. Registro binario

El registro binario (BINLOG) registra todas las declaraciones DDL (lenguaje de definición de datos) y las declaraciones DML (lenguaje de manipulación de datos), pero no incluye declaraciones de consulta de datos (SELECT, SHOW). Rol: 0. Recuperación de datos en caso de desastre, replicación maestro-esclavo de @.MySOL. En la versión MySQL8, el registro binario predeterminado está habilitado y los parámetros involucrados son los siguientes:

Ver directivas de ruta de registro binario

show variables like '%log_bin%'

La versión 5.7 no está habilitada de forma predeterminada
inserte la descripción de la imagen aquí
Ver formato de registro

show variables like '%binlog_format%'.
formato de registro significado
DECLARACIÓN Los registros basados ​​en declaraciones SQL, que registran declaraciones SQL, y SOL que modifican datos se registrarán en archivos de registro.
RCW El registro basado en filas registra los cambios de datos para cada fila. (por defecto)
MEZCLADO Una combinación de formatos STATEMENT y ROW, STATEMENT se usa de forma predeterminada y, en algunos casos especiales, cambiará automáticamente a ROW para la grabación.

Verifique el registro binario

mysqlbinlog [参数选项] logfilename

inserte la descripción de la imagen aquí
Eliminación de registros
Para los sistemas comerciales ocupados, los datos binlog generados todos los días son enormes. Si no se borran durante mucho tiempo, ocuparán una gran cantidad de espacio en disco. Los registros se pueden limpiar de las siguientes maneras

instrucción significado
reset master Eliminar todos los registros binlog. Después de la eliminación, el número de registro se reiniciará desde binlog.000001
purge master logs tR 'binlog' **** Eliminar todos los registros antes del número ****
purge master logs before 'yyyy-mm-dd hh24:mi:ss' Elimine todos los registros generados antes de que el registro sea "yyyy-mm-dd hh24:mi:ss"

3. Registros de consultas

Todas las declaraciones de operación del cliente se registran en el registro de consultas, pero el registro binario no contiene declaraciones SQL para consultar datos. De forma predeterminada, el registro de consultas no está habilitado

Ver la dirección del registro de consultas

show variables like '%general%';

inserte la descripción de la imagen aquí
Habilitar registro de consultas

Modifique el archivo de configuración de MySQL /etc/my.cnf y agregue el siguiente contenido:

#该选项用来开启查询日志 , 可选值 : 0 或者 1;0代表关闭,1代表开启
general_log=1
#设置日志的文件名,如果没有指定,默认的文件名host_name.log
general_log_file=mysql_query.log

4. Registro de consultas lentas

El registro de consultas lentas registra los registros de todas las sentencias SQL cuyo tiempo de ejecución supera el valor de configuración del parámetro tiempo de consulta prolongado y el número de registros escaneados no es inferior al límite mínimo de filas examinadas. Está deshabilitado de forma predeterminada. long_query time tiene un valor predeterminado de 10 segundos, el mínimo es 0 y la precisión puede alcanzar los microsegundos.

Consulta de dirección de registro de consulta lenta

    show global variables like ‘%slow_query_log_file%’

parámetros de configuración

Modifique el archivo de configuración de MySQL /etc/my.cnf y agregue el siguiente contenido:

#慢查询日志
slow_query_log=1
#执行时间参数
long_query_time=2

De forma predeterminada, las declaraciones administrativas no se registran, ni tampoco las consultas que no utilizan índices para búsquedas. Este comportamiento se puede cambiar usando log_slow_admin_statements y
consultas de registro que no usan índices, como se describe a continuación.

#记录执行较慢的管理语句
log_slow_admin_statements =1
#记录执行较慢的未使用索引的语句
log_queries_not_using_indexes = 1

Supongo que te gusta

Origin blog.csdn.net/qq_46645840/article/details/129026455
Recomendado
Clasificación