Foros del Web » Programando para Internet » PHP »

Respaldar Base de Datos atraves de PHP

Estas en el tema de Respaldar Base de Datos atraves de PHP en el foro de PHP en Foros del Web. quien me puede ayudar a hacer un respaldo de una base de datos mysql atraves de web pero no ocupando el phpmyadmin ya que me ...
  #1 (permalink)  
Antiguo 02/11/2003, 14:23
 
Fecha de Ingreso: marzo-2003
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 0
Respaldar Base de Datos atraves de PHP

quien me puede ayudar a hacer un respaldo de una base de datos mysql atraves de web pero no ocupando el phpmyadmin
ya que me arroja este error

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 528 bytes) in /var/www/html/virtual/pagina/www/phpMyAdmin/libraries/build_dump.lib.php on line 316

que segun yo es por que no puede enviar tanto dato por la pagina

y queria hacerlo atraves de php ya que con una opcion puedo decirle que no importa el tiempo que se demore

pero ni idea como hacerlo, conosco sentencia sql pero no se me ocurre como hacerlo

y ademas si no es molestar tanto es como hacerle para tambien ejecutar esa sentencia en el otra base de datos ya que estoy cambiando de hosting

salu2
__________________
http://www.manuales.astalaweb.com/Mprogramación.htm

diferentes manuales sobre programacion para descargar
  #2 (permalink)  
Antiguo 02/11/2003, 14:34
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
lo que quieres es hacer un backup de tu base de datos... eso creo entender

Código PHP:
<?php
/*CARGAMOS CONFIGURACION DEL SERVIDOR*/
    
$sql_host "localhost";  // Host, nombre del servidor o IP del servidor Mysql.
    
$sql_usuario "xxxxxxx";    // Usuario de Mysql
    
$sql_pass "xxxxxxx";          // contraseña de Mysql
    
$filename "fichero.sql";
/*CARGAMOS LA BASE DE DATOS*/
    
$sql_db "xxxxxxxx";   // Base de datos

/*CONECTAMOS CON MYSQL*/
    
$db_connect mysql_connect($sql_host,$sql_usuario,$sql_pass);
        
mysql_select_db($sql_db);
?>


//para servidores windows


<?php
header
("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$filename");

    
$executa "c:\mysql\bin\mysqldump.exe -u $sql_usuario --password=$sql_pass --opt $sql_db";
        
system($executa$resultado);

    if (
$resultado) { echo "<H1>Error ejecutando comando: $executa</H1>\n"; }
?>


//para servidores linux


<?php
header
("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$filename");

    
$executa "mysqldump -u $sql_usuario --password=$sql_pass --opt $sql_db";
        
system($executa$resultado);

if (
$resultado) { echo "<H1>Error ejecutando comando: $executa</H1>\n"; }
?>
__________________
3w.valenciadjs.com
3w.laislatv.com
  #3 (permalink)  
Antiguo 02/11/2003, 19:15
 
Fecha de Ingreso: marzo-2003
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 0
no me funciona

me dice

"<H1>Error ejecutando comando: los datos de mi servidor</H1>\n"


parece que ese archivo mysqldump no esta en el servidor como lo tengo que hacer para poder ejecutarlo

gracias
__________________
http://www.manuales.astalaweb.com/Mprogramación.htm

diferentes manuales sobre programacion para descargar
  #4 (permalink)  
Antiguo 03/11/2003, 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
Ese numerito " 8388608 bytes " más o menos son los 8 Megabytes que tiene PHP configurado por defecto como mémoria asignada para cada script ..

Tu proceso está consumiento demasiados recursos .. así que tienes dos opciones:

1) si tienes acceso a tu php.ini .. dale más Memoria a la directiva:
memory_limit

2) Intenta "parcelar" ese proceso, por ejemplo .. Si tienes que respaldar X tablas o BD .. hazlo en grupos (seleccionando sólo unas cuantas tablas . luego más)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 03/11/2004, 11:14
 
Fecha de Ingreso: abril-2004
Ubicación: Concepcion
Mensajes: 72
Antigüedad: 13 años, 7 meses
Puntos: 0
Exclamación

Cita:
Iniciado por nuevo
lo que quieres es hacer un backup de tu base de datos... eso creo entender

Código PHP:
<?php
/*CARGAMOS CONFIGURACION DEL SERVIDOR*/
    
$sql_host "localhost";  // Host, nombre del servidor o IP del servidor Mysql.
    
$sql_usuario "xxxxxxx";    // Usuario de Mysql
    
$sql_pass "xxxxxxx";          // contraseña de Mysql
    
$filename "fichero.sql";
/*CARGAMOS LA BASE DE DATOS*/
    
$sql_db "xxxxxxxx";   // Base de datos

/*CONECTAMOS CON MYSQL*/
    
$db_connect mysql_connect($sql_host,$sql_usuario,$sql_pass);
        
mysql_select_db($sql_db);
?>

//para servidores linux


<?php
header
("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$filename");

    
$executa "mysqldump -u $sql_usuario --password=$sql_pass --opt $sql_db";
        
system($executa$resultado);

if (
$resultado) { echo "<H1>Error ejecutando comando: $executa</H1>\n"; }
?>
Para servidores linux este codigo no corre, alguien podria ayudar a revisarlo?, yo en eso estoy.
  #6 (permalink)  
Antiguo 03/11/2004, 15:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
sombra_cl

Si describes el problema/mensaje de error que obtienes .. será lo ideal.

Te recuerdo desde ya que si usas PHP bajo "safe_mode" (modo seguro) que suele ser lo típico de una instalación en concidicones de PHP (y que usan la mayoría de servicios de hosting) .. no vas a poder hacer uso de system().

Un saludo,
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:13.