En MySQL, ¿cómo puedo eliminar/descargar/borrar todos los registros que no son necesarios?

StackOverflow https://stackoverflow.com/questions/7381320

  •  29-10-2019
  •  | 
  •  

Pregunta

He probado varios comandos (registros de descarga, Purge Master) pero ninguno elimina los archivos de registro (cuando se activó previamente) o las tablas de registro (MySQL/Slow_log.csv y MySQL/General_log.csv y sus contrapartes .FRM y .CSM).

Show Binary Logs Devuelve "No está utilizando el registro binario".

Editar: Encontré esta solución simple para borrar los registros de la tabla (pero aún no los registros de archivos usando un comando mysql):

TRUNCATE mysql.general_log;
TRUNCATE mysql.slow_log;
¿Fue útil?

Solución

Los registros de descarga simplemente se cierran y reabren archivos de registro. Si los archivos de registro son grandes, no los reducirá. Si estás en Linux, puedes usar mv Para cambiar el nombre de los archivos de registro mientras están en uso, y luego, después de los registros de descarga, sabe que MySQL está escribiendo en un archivo nuevo y pequeño, y puede eliminar los archivos grandes antiguos.

Los registros binarios son diferentes. Para eliminar los viejos binlogs, use Purgar registros binarios. Asegúrese de que sus esclavos (si los hay) aún no usen los registros binarios. Es decir, ejecute Show Slave Status para ver en qué archivo Binlog está trabajando, y no purgue ese archivo o archivos posteriores.

También tenga en cuenta que los binlogs son útiles para la recuperación de punto en el tiempo en caso de que necesite restaurar desde las copias de seguridad y luego volver a aplicar binlogs para actualizar la base de datos. Si necesita usar binlogs de esta manera, no purgue los binlogs que se han escrito desde su última copia de seguridad.

Otros consejos

Si está en Amazon RDS, ejecutar esto dos veces hará el truco:

PROMPT> CALL mysql.rds_rotate_slow_log;
PROMPT> CALL mysql.rds_rotate_general_log;

Fuente: http://docs.aws.amazon.com/amazonrds/latest/userguide/user_logaccess.concepts.mysql.html

Parece que el registro binario no está habilitado en su servidor. Y supongo que desea eliminar los archivos de registro antiguos que se usaron/creados en el momento del registro binario están habilitados. Puede eliminarlos manualmente usando el comando 'RM' si lo desea. Si desea habilitar el registro binario, puede hacer lo mismo actualizando el archivo de configuración (pero necesita reiniciar el servidor si ya se está ejecutando). Puede referirse a continuación los enlaces.http://dev.mysql.com/doc/refman/5.0/en/replication-options-binary-log.html#option_mysqld_log-bin http://dev.mysql.com/doc/refman/5.0/en/replication-options-binary-log.html#sysvar_log_bin

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top