Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema Backup Mysql

Estas en el tema de Problema Backup Mysql en el foro de Mysql en Foros del Web. Hola, la duda es la siguiente: Queria hacer un backup de la base de datos "prueba", entonces puse en el cmd: mysqldump -u root -p ...
  #1 (permalink)  
Antiguo 04/06/2009, 20:27
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 15 años
Puntos: 0
Problema Backup Mysql

Hola, la duda es la siguiente:

Queria hacer un backup de la base de datos "prueba", entonces puse en el cmd:

mysqldump -u root -p prueba > backup_prueba.sql

Luego puse el password, y me creó el archivo backup_prueba.sql

Entonces probé borrar la base "prueba", poniendo en el mysql:

DROP DATABASE prueba;

Listo, borrada. Salí del mysql con exit, y probé recuperarla desde el backup poniendo:

mysql -u root -p -D prueba < backup_prueba.sql

Puse el password, pero me tiró "unknown database 'prueba'". También probé creando primero la base "prueba", pensando que quizas solo agregaba las tablas, pero tampoco anduvo.
Algo que noté en el archivo backup_prueba.sql, es que en los comandos que tiene adentro, pone cosas como:

CREATE TABLE 'libros' [...]

, en vez de lo que suelo escribir cuando quiero crear una tabla dentro de "prueba":

CREATE TABLE prueba.libros [...]

Asi que tambien probe hacerlo de otra forma, entrar al mysql, poner:

USE prueba;

para que ya quede seleccionada, y entonces ahi le di a:

SOURCE backup_prueba.sql;

y se puso a tirar todos los comandos, pero todos tiraban "0 rows affected"

En que me equivoco?? Que puedo hacer??

--------------

Esto es lo que dice en las FAQs:
Cita:
Iniciado por gusma62 Ver Mensaje
Pregunta: ¿Cómo respaldar mi base de datos?

Una forma es desde la linea de comandos:

Código:
C:\AppServ\MySQL\bin>mysqldump -u root -p base_de_datos > archivo_respaldo.sql
Pedirá la contraseña y listo!

La ruta depende de donde tengas instalado mysql.
root es el usuario.
El archivo se guarda en la carpeta bin.


Y para restaurar una base de datos desde un archivo:

Código:
C:\AppServ\MySQL\bin>mysql -u root -p base_de_datos < archivo_origen.sql
Ojo: es solo mysql, el anterio era mysqldump. Tambien cuidado con el signo <
La base de datos debe estar creada antes de la modificacion.
El archivo origen debe estar en la carpeta bin

es lo que hice pero no anda
  #2 (permalink)  
Antiguo 04/06/2009, 21:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema Backup Mysql

Vamos por partes:
El mysqldump crea un backup recuperable de una base, pero lo hace de una forma inteligente: no predetermina el nombre de las bases para que la misma estructura pueda ser copiada en otra nueva, sin por ello dejar de contener las tablas completas. En este sentido, mysqldump no pone el nombre de la base en la creación de tablas.
Lo único que necesita el script creado es estar dirigido a una base para cargarse. El comando se escribe como lo pusiste:
Código sql:
Ver original
  1. mysqldump -uroot -pxxxxx prueba > backup_prueba.SQL
para crearlo y
Código sql:
Ver original
  1. mysql -uroot -pxxxx prueba < backup_prueba.SQL
para reconstruir la base.
¿Te dio algún mensaje de error?
Luego de recrearla, ¿probaste que las tablas estuviesen bien? ¿te causó algún problema?
Finalmente: El hecho que te diga 0 rows afected, no tiene ninguna importancia. De hecho eso es correcto, porque cuando creas una tabla, en realidad no estás insertando nada en ella... por lo qu eeso es precisamente lo que debe responder el MySQL, así que ¿Cuál es tu duda?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 04/06/2009, 23:09
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema Backup Mysql

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Vamos por partes:
El mysqldump crea un backup recuperable de una base, pero lo hace de una forma inteligente: no predetermina el nombre de las bases para que la misma estructura pueda ser copiada en otra nueva, sin por ello dejar de contener las tablas completas. En este sentido, mysqldump no pone el nombre de la base en la creación de tablas.
Lo único que necesita el script creado es estar dirigido a una base para cargarse. El comando se escribe como lo pusiste:
Código sql:
Ver original
  1. mysqldump -uroot -pxxxxx prueba > backup_prueba.SQL
para crearlo y
Código sql:
Ver original
  1. mysql -uroot -pxxxx prueba < backup_prueba.SQL
para reconstruir la base.
¿Te dio algún mensaje de error?
Luego de recrearla, ¿probaste que las tablas estuviesen bien? ¿te causó algún problema?
Finalmente: El hecho que te diga 0 rows afected, no tiene ninguna importancia. De hecho eso es correcto, porque cuando creas una tabla, en realidad no estás insertando nada en ella... por lo qu eeso es precisamente lo que debe responder el MySQL, así que ¿Cuál es tu duda?
ok gracias

no sabia que no grababa el nombre de la base de datos, como además cuando lo abria decia "database: prueba"..

creo q estaba alternando entre dos errores:
- no creaba la nueva base "prueba" antes de restaurar la info
- ponia mysqldump la segunda vez, en vez de poner mysql jaja

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:59.