Descargar MySQL dump desde la línea de comandos


Me estoy alejando de Linode porque no tengo las habilidades de administrador de sistemas de Linux necesarias; antes de completar la transición a un servicio más amigable con los noob, necesito descargar el contenido de una base de datos MySQL. ¿Hay alguna forma de que pueda hacer esto desde la línea de comandos?

Author: Ken White, 2012-11-21

10 answers

Puede lograr esto usando la función de línea de comandos mysqldump.

Por ejemplo:

Si es un DB completo, entonces:

   $ mysqldump -u [uname] -p[pass] db_name > db_backup.sql

Si todo es DBs, entonces:

   $ mysqldump -u [uname] -p[pass] --all-databases > all_db_backup.sql

Si se trata de tablas específicas dentro de una DB, entonces:

   $ mysqldump -u [uname] -p[pass] db_name table1 table2 > table_backup.sql

Incluso puedes llegar a comprimir automáticamente la salida usando gzip (si tu DB es muy grande):

   $ mysqldump -u [uname] -p[pass] db_name | gzip > db_backup.sql.gz

Si quieres hacer esto remotamente y tienes el acceso al servidor en cuestión, entonces lo siguiente funcionaría (suponiendo que el servidor MySQL está en el puerto 3306):

   $ mysqldump -P 3306 -h [ip_address] -u [uname] -p[pass] db_name > db_backup.sql

Debe soltar el archivo .sql en la carpeta desde la que ejecuta la línea de comandos.

EDITAR: Como se indica en los comentarios, para evitar la inclusión de su contraseña en el historial de comandos, utilice la opción -p sin la contraseña. Te pedirá que lo hagas y no lo grabes.

 434
Author: nickhar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-14 00:10:43

Mysqldump es lo que estás buscando.

 14
Author: Faruk Sahin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-21 00:48:09

En las últimas versiones de mysql, al menos en la mía, no puedes poner tu pase en el comando directamente.

Tienes Que ejecutar:

mysqldump -u [uname] -p db_name > db_backup.sql

Y luego pedirá la contraseña.

 6
Author: Lorenzo Lerate,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-01 09:28:55

En Windows es necesario especificar la papelera mysql donde se encuentra el mysqldump.exe reside.

cd C:\xampp\mysql\bin

mysqldump -u[username] -p[password] --all-databases > C:\localhost.sql

Guarde esto en un archivo de texto como backup.cmd

 4
Author: drooh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-26 07:55:21

Si se descarga desde un servidor remoto, aquí hay un ejemplo simple:

mysqldump -h my.address.amazonaws.com -u my_username -p db_name > /home/username/db_backup_name.sql

El-p indica que ingresará una contraseña, no se relaciona con el db_name. Después de ingresar el comando, se le solicitará la contraseña. Escríbelo y pulsa intro.

 4
Author: Andrew,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-21 18:32:03

Vaya al directorio de instalación de MySQL y abra cmd desde allí. A continuación, ejecute el siguiente comando para obtener una copia de seguridad de su base de datos.

mysqldump -u root -p --add-drop-database --databases db> C:\db-dontdelete\db.sql
 1
Author: user8376416,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-27 23:09:07

Simplemente escriba mysqldump o mysqldump --help en su cmd se mostrará how to use

Aquí está mi resultado de cmd

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help
 0
Author: Suganthan Madhavan Pillai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-27 08:07:20

Abra el símbolo del sistema y escriba directamente este comando. No vaya dentro de mysql y luego escriba este comando.

mysqldump -u [uname] -p[pass] db_name > db_backup.sql
 0
Author: Nithin Raja,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-21 04:31:26

Si está ejecutando MySQL que no sea el puerto predeterminado:

mysqldump.exe -u username -p -P PORT_NO database > backup.sql
 0
Author: Anand Raj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-28 12:09:24

Utilice esto Si tienes la base de datos con el nombre archiedb, usa esto mysql-p databases bases de datos archiedb > / home / database_backup.sql

Asumiendo que esto es linux, elija dónde se guardará el archivo de copia de seguridad.

 -1
Author: Nabaasa Archie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-16 14:17:16