Directorio de artículos
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%';
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
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
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%';
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