sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo hacer una copia de seguridad de toda la base de datos MySQL con todos los usuarios, permisos y contraseñas?

En su forma más básica, el comando mysqldump que puede usar es:

mysqldump -u$user -p$pass -S $socket --all-databases > db_backup.sql

Eso incluirá la base de datos mysql, que tendrá todas las tablas de usuarios/privacidades.

Hay inconvenientes en ejecutar esto en un sistema de producción, ya que puede provocar bloqueos. Si sus tablas son lo suficientemente pequeñas, es posible que no tenga un impacto significativo. Primero querrás probarlo.

Sin embargo, si está ejecutando un entorno InnoDB puro, puede usar --single-transaction indicador que creará el volcado en una sola transacción (obtenerlo), evitando así el bloqueo en la base de datos. Tenga en cuenta que hay casos de esquina donde las FLUSH TABLES iniciales El comando ejecutado por el volcado puede bloquear las tablas. Si ese es el caso, elimine el volcado y reinícielo. También recomendaría que si está utilizando esto para fines de copia de seguridad, use --master-data marca también para obtener las coordenadas del registro binario desde donde se tomó el volcado. De esa manera, si necesita restaurar, puede importar el archivo de volcado y luego usar el mysqlbinlog Comando para reproducir los archivos de registro binarios desde la posición donde se tomó este volcado.