una respaldar por hacer ejemplo datos consola como automaticamente mysql backup mysqldump complete

por - respaldar base de datos mysql phpmyadmin



Cómo tomar una copia de seguridad completa de la base de datos mysql usando la utilidad de línea de comandos mysqldump (6)

¿Cómo puedo hacer una copia de seguridad completa de la base de datos mysql usando mysqldump? Cuando realizo una copia de seguridad, mis tablas de la base de datos especificada solo se copian. Los procedimientos y funciones no son

Aquí está el comando de respaldo que estoy usando:
(El sistema operativo es Windows Vista.)

mysqldump -u username -p db1 > backup.sql


Además del indicador --routines, deberá otorgar los permisos de usuario de la copia de seguridad para leer los procedimientos almacenados:

GRANT SELECT ON `mysql`.`proc` TO <backup user>@<backup host>;

Mi conjunto mínimo de privilegios de GRANT para el usuario de la copia de seguridad es:

GRANT USAGE ON *.* TO ... GRANT SELECT, LOCK TABLES ON <target_db>.* TO ... GRANT SELECT ON `mysql`.`proc` TO ...


Depende un poco de tu versión. Antes de 5.0.13 esto no es posible con mysqldump.

Desde la página man de mysqldump (v 5.1.30)

--routines, -R Dump stored routines (functions and procedures) from the dumped databases. Use of this option requires the SELECT privilege for the mysql.proc table. The output generated by using --routines contains CREATE PROCEDURE and CREATE FUNCTION statements to re-create the routines. However, these statements do not include attributes such as the routine creation and modification timestamps. This means that when the routines are reloaded, they will be created with the timestamps equal to the reload time. ... This option was added in MySQL 5.0.13. Before that, stored routines are not dumped. Routine DEFINER values are not dumped until MySQL 5.0.20. This means that before 5.0.20, when routines are reloaded, they will be created with the definer set to the reloading user. If you require routines to be re-created with their original definer, dump and load the contents of the mysql.proc table directly as described earlier.


Estoy usando MySQL 5.5.40. Esta versión tiene la opción --all-databases

mysqldump -u<username> -p<password> --all-databases --events > /tmp/all_databases__`date +%d_%b_%Y_%H_%M_%S`.sql

Este comando creará una copia de seguridad completa de todas las bases de datos en el servidor MySQL en un archivo con el nombre de fecha y hora actual.


Si desea realizar una copia de seguridad completa, es decir, todas las bases de datos, procedimientos, rutinas y eventos sin interrumpir ninguna conexión:

mysqldump -u [username] -p -A -R -E --triggers --single-transaction > full_backup.sql

  1. -A Para todas las bases de datos (también puede usar --all-databases )
  2. -R Para todas las rutinas (procedimientos almacenados y disparadores)
  3. -E Para todos los eventos
  4. --single-transaction Sin bloquear las tablas, es decir, sin interrumpir ninguna conexión (R / W).

Si desea realizar una copia de seguridad de solo las bases de datos especificadas:

mysqldump -u [username] -p [database_name] [other_database_name] -R -e --triggers --single-transaction > database_backup.sql

Si desea realizar una copia de seguridad de solo una tabla específica en una base de datos:

mysqldump -u [username] -p [database_name] [table_name] > table_backup.sql

Si desea realizar una copia de seguridad de la estructura de la base de datos, solo agregue --no-data a los comandos anteriores:

mysqldump -u [username] –p[password] –-no-data [database_name] > dump_file.sql

mysqldump tiene muchas más opciones, que están documentadas en la documentación de mysqldump o ejecutando man mysqldump en la línea de comandos.


Use ''-R'' para realizar una copia de seguridad de los procedimientos almacenados, pero también tenga en cuenta que si desea un volcado uniforme de su base de datos mientras se está modificando, debe usar --single-transaction (si solo realiza una copia de seguridad de innodb) o --lock-all-tables (si también necesita tablas myisam)


Use estos comandos:

mysqldump <other mysqldump options> --routines > outputfile.sql

Si queremos hacer una copia de seguridad SOLAMENTE de los procedimientos almacenados y desencadenadores y no de las tablas y datos de mysql, entonces deberíamos ejecutar algo como:

mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt <database> > outputfile.sql

Si necesita importarlos a otro db / server, deberá ejecutar algo como:

mysql <database> < outputfile.sql