Foros del Web » Programando para Internet » PHP »

Restaurar BD MySQL

Estas en el tema de Restaurar BD MySQL en el foro de PHP en Foros del Web. Hola ! Me pareció haber visto en algun post por ahi que en las FAQ's decia algo sobre cómo restaurar una BBDD MySQL desde un ...
  #1 (permalink)  
Antiguo 26/01/2005, 06:14
 
Fecha de Ingreso: septiembre-2004
Mensajes: 203
Antigüedad: 13 años, 2 meses
Puntos: 0
Restaurar BD MySQL

Hola ! Me pareció haber visto en algun post por ahi que en las FAQ's decia algo sobre cómo restaurar una BBDD MySQL desde un fichero .sql (el que creé con YoDumpeo), pero me recorrí las FAQ´s de adelante para atras y al reves y no encontré nada, asi que solicito su ayuda para ver como puedo hacer lo que aqui comento.
Muchas garcias y saludos !
__________________
Impala
  #2 (permalink)  
Antiguo 26/01/2005, 07:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Lee tu archivo (.sql) que ya contiene tus datos en formato SQL listo para ejecutar (con sus líneas INSERT INTO ... .) y ejecutar instrucción por instrucción con un mysql_query() para ir creado dichos registros (o tablas y lo que corresponda). Es "lento" .. pero no depende de nada más que PHP (ni del S.O. concreto que se use .. ni de nada más de permisos en el servidor).

mysql_query() (para PHP 4) .. sólo soporta una sentencia por ejecución .. es decir . . si tu tinees várias sentencias tipo INSERT ... .; separadas por un ; (punto y coma) .. no puedes tomar tu archivo y mandarlo a mysql_query() .. es necesario "parcelarlo" en instrucciones con un explode() lo cual te entregará un array que puedes recorrer (con un bucle foreach() ) y de ahí ir ejecutando tus sentencias ..

Eso sería un método .. En SQL tienes "LOAD DATA ..." pero se refiere a "datos" sólo no instrucciones SQL.

Un saludo,
  #3 (permalink)  
Antiguo 26/01/2005, 08:47
 
Fecha de Ingreso: septiembre-2004
Mensajes: 203
Antigüedad: 13 años, 2 meses
Puntos: 0
Antes que nada, gracias por contestar, pero lo que yo queria es saber cómo puedo hacer algo parecido a lo que hace phpMyAdmin. Por ejemplo, desde un php creo una base de datos:
" mysql_create_db("nombre_bd"); " (Sin las comillas)

ahora que la tengo creada, quiero meterle todos los datos que tengo en el fichero .sql(backup).

Encontré esta sentencia buscando por internet, y creo que es lo que yo quiero hacer, pero es desde PHP, no desde la consola de MySQL.
" mysql -u root -h localhost -p -D web < nuke.sql " (Sin las comillas)
__________________
Impala
  #4 (permalink)  
Antiguo 26/01/2005, 09:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
phpMyadmin funciona como te he expuesto. (podrías revisar su código para verlo).

-------

Sobre el comando que has encontrado desde "consola" .. en PHP lo puedes lanzar con la función (y afines): exec() .. system() .. Todo eso si no trabajas en "safe_mode" y tienes permisos para ejecutar ese comando.

www.php.net/exec

Un saludo,
  #5 (permalink)  
Antiguo 26/01/2005, 09:34
 
Fecha de Ingreso: septiembre-2004
Mensajes: 203
Antigüedad: 13 años, 2 meses
Puntos: 0
Muchas gracias ! Es lo que necesitaba ya que estoy trabajando en un proyecto que se ejecutará solamente en local. De todas formas, gracias por la explicacion anterior, me sirvió para saber un poco mas de PHP !!!!
__________________
Impala

Última edición por impala; 26/01/2005 a las 09:35
  #6 (permalink)  
Antiguo 26/01/2005, 11:27
 
Fecha de Ingreso: septiembre-2004
Mensajes: 203
Antigüedad: 13 años, 2 meses
Puntos: 0
Una cosa mas, si no es molestia, como podría implementar una opción que me de la posibilidad de buscar el fichero .sql en un diskette, cd-rom, disco duro ...etc ? El tipioo 'examinar' ... es posible ? El resultado de la búsqueda lo pasaría como una variable para incluirla en la sentencia del exec() ...
__________________
Impala
  #7 (permalink)  
Antiguo 26/01/2005, 13:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
impala . .en este ambiente "web" tendrías que usar un formulario HTML con su campo "file" para subir tu archivo al servidor:

http://www.php.net/manual/en/features.file-upload.php


Un saludo,
  #8 (permalink)  
Antiguo 26/01/2005, 15:18
 
Fecha de Ingreso: septiembre-2004
Mensajes: 203
Antigüedad: 13 años, 2 meses
Puntos: 0
Nuevamente muchas gracias por contestar siempre ... no cualquiera lo hace ...
__________________
Impala
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 01:15.