Me estoy alejando de Linode porque no tengo las habilidades necesarias de administrador de sistemas Linux; Antes de completar la transición a un servicio más amigable para los novatos, necesito descargar el contenido de una base de datos MySQL. ¿Hay alguna manera de hacer esto desde la línea de comando?
mysql
command-line
command-line-arguments
linode
Phillip Copley
fuente
fuente
Respuestas:
Puede lograr esto utilizando la función de línea de comandos mysqldump .
Por ejemplo:
Si es un DB completo, entonces:
Si se trata de todos los DB, entonces:
Si se trata de tablas específicas dentro de un DB, entonces:
Incluso puede llegar a autocomprimir la salida usando gzip (si su base de datos es muy grande):
Si desea hacer esto de forma remota y tiene acceso al servidor en cuestión, lo siguiente funcionaría (suponiendo que el servidor MySQL esté en el puerto 3306):
Debería colocar el
.sql
archivo en la carpeta desde la que ejecuta la línea de comandos.EDITAR: actualizado para evitar la inclusión de contraseñas en los comandos de la CLI, use la
-p
opción sin la contraseña. Se lo pedirá y no lo grabará.fuente
wget
oscp
será necesario para recuperar dicho archivo una vez construido.>
para guardar, prefiero usar-r
para evitar problemas con caracteres extranjeros, o esa pesadilla con respecto a problemas de codificación, como se indica en este artículo .--result-file=db_backup.sql
lugar de> db_backup.sql
. Cita de la documentación de MySQL : "UTF-16 no está permitido como un conjunto de caracteres de conexión (consulte Conjuntos de caracteres de clientes no permitidos ), por lo que el archivo de volcado no se cargará correctamente. Para solucionar este problema, use la--result-file
opción, que crea la salida en Formato ASCII ".En las últimas versiones de mysql, al menos en la mía, no puede poner su pase directamente en el comando.
Tienes que correr:
mysqldump -u [uname] -p db_name > db_backup.sql
y luego le pedirá la contraseña.
fuente
-p
opción y la contraseña real funcionaSi descarga desde un servidor remoto, aquí hay un ejemplo simple:
La -p indica que ingresará una contraseña, no se relaciona con el nombre_bd. Después de ingresar el comando, se le solicitará la contraseña. Escríbelo y presiona enter.
fuente
En Windows, debe especificar el contenedor mysql donde reside mysqldump.exe.
guárdelo en un archivo de texto como backup.cmd
fuente
mysql
comandos desde cualquier lugar sin estar en su directorio.Abra el símbolo del sistema y escriba directamente este comando. No entres en mysql y luego escribe este comando.
fuente
Vaya al directorio de instalación de MySQL y abra cmd desde allí. Luego ejecute el siguiente comando para obtener una copia de seguridad de su base de datos.
fuente
Simplemente escriba
mysqldump
omysqldump --help
en su cmd mostraráhow to use
Aquí está mi resultado de cmd
fuente
Si está ejecutando MySQL que no sea el puerto predeterminado:
fuente
Para aquellos que quieran escribir contraseña dentro de la línea de comando. Es posible, pero se recomienda pasarlo entre comillas para que el carácter especial no cause ningún problema.
fuente
Use esto Si tiene la base de datos con el nombre archiedb, use esto mysql -p --databases archiedb> /home/database_backup.sql
Suponiendo que se trata de Linux, elija dónde se guardará el archivo de copia de seguridad.
fuente
Para usuarios de Windows, puede ir a su carpeta mysql para ejecutar el comando
p.ej
fuente
Nota: Este paso solo viene después de volcar su archivo MySQL (que la mayoría de las respuestas anteriores han abordado).
Se supone que tiene dicho archivo de volcado en su servidor remoto y ahora desea llevarlo a su computadora local.
Para descargar el
.sql
archivo volcado de su servidor remoto a su computadora local, hagafuente