¿Se puede descargar un base de datos vía FTP?

Cyber Seguir

Épsilon
Verificación en dos pasos desactivada
Desde
7 Abr 2010
Mensajes
810
Hola betas!

Bueno, la pregunta es muy sencilla: ¿Se puede descargar un base de datos vía FTP?

Es que no puedo ingresar a mi Cpanel ahora, pero sí mediante FTP, y necesito descargar una base de datos de un foro en SMF que tengo.

Gracias!!!
 

Maiden Alan

1
Eta
Marketing
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
18 May 2011
Mensajes
1.451
con un script php que te lo realizen , solo se necesitaria algunos datos , ejecutas el php y lo descargas
 

Malenko

Delta
Programador
Verificación en dos pasos desactivada
Desde
10 Feb 2010
Mensajes
650
Porque no pruebas a instalarte phpmyadmin? Permite hacer backups y luego restaurarlos...
 

Maiden Alan

1
Eta
Marketing
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
18 May 2011
Mensajes
1.451
Estoy de buen humor ya que mañana es mi cumpleaños y tu me ayudaste alguna vez en una duda con una respuesta bien grande : P , :

PHP:
<?php
/* Usuario para la conexion a Mysql. */
$usurio = "tu_usuario";
/* Password para la conexion a Mysql. */
$passwd = "la_clave";
 /* Host para la conexion a Mysql. */
$host = "localhost";
/* Base de Datos que se seleccionará. */
$bd = "tu_base_de_datos";
/* Nombre del fichero que se descargará. */
$nombre = "backup.sql"; // nombre del archivo que queres que genere !!!
/* Determina si la tabla será vaciada (si existe) cuando  restauremos la tabla. */            
$drop = false;
/* 
* Array que contiene las tablas de la base de datos que seran resguardadas.
* Puede especificarse un valor false para resguardar todas las tablas
* de la base de datos especificada en  $bd.
* 
* Ejs.:
* $tablas = false;
*    o
* $tablas = array("tabla1", "tabla2", "tablaetc");
* 
*/
$tablas = false;
/* 
* Tipo de compresion.
* Puede ser "gz", "bz2", o false (sin comprimir)
*/
$compresion = false;

/* Conexion y eso*/
$conexion = mysql_connect($host, $usurio, $passwd)
or die("No se conectar con el servidor MySQL: ".mysql_error());
mysql_select_db($bd, $conexion)
or die("No se pudo seleccionar la Base de Datos: ". mysql_error());


/* Se busca las tablas en la base de datos */
if ( empty($tablas) ) {
    $consulta = "SHOW TABLES FROM $bd;";
    $respuesta = mysql_query($consulta, $conexion)
    or die("No se pudo ejecutar la consulta: ".mysql_error());
    while ($fila = mysql_fetch_array($respuesta, MYSQL_NUM)) {
        $tablas[] = $fila[0];
    }
}


/* Se crea la cabecera del archivo */
$info['dumpversion'] = "1.1b";
$info['fecha'] = date("d-m-Y");
$info['hora'] = date("h:m:s A");
$info['mysqlver'] = mysql_get_server_info();
$info['phpver'] = phpversion();
ob_start();
print_r($tablas);
$representacion = ob_get_contents();
ob_end_clean ();
preg_match_all('/(\[\d+\] => .*)\n/', $representacion, $matches);
$info['tablas'] = implode(";  ", $matches[1]);
$dump = <<<EOT
# +===================================================================
# | YoDumpeo! {$info['dumpversion']}
# | por fran86 <fran86@myrealbox.com>
# |
# | Generado el {$info['fecha']} a las {$info['hora']} por el usurio '$usurio'
# | Servidor: {$_SERVER['HTTP_HOST']}
# | MySQL Version: {$info['mysqlver']}
# | PHP Version: {$info['phpver']}
# | Base de datos: '$bd'
# | Tablas: {$info['tablas']}
# |
# +-------------------------------------------------------------------

EOT;
foreach ($tablas as $tabla) {
    
    $drop_table_query = "";
    $create_table_query = "";
    $insert_into_query = "";
    
    /* Se halla el query que será capaz vaciar la tabla. */
    if ($drop) {
        $drop_table_query = "DROP TABLE IF EXISTS `$tabla`;";
    } else {
        $drop_table_query = "# No especificado.";
    }

    /* Se halla el query que será capaz de recrear la estructura de la tabla. */
    $create_table_query = "";
    $consulta = "SHOW CREATE TABLE $tabla;";
    $respuesta = mysql_query($consulta, $conexion)
    or die("No se pudo ejecutar la consulta: ".mysql_error());
    while ($fila = mysql_fetch_array($respuesta, MYSQL_NUM)) {
            $create_table_query = $fila[1].";";
    }
    
    /* Se halla el query que será capaz de insertar los datos. */
    $insert_into_query = "";
    $consulta = "SELECT * FROM $tabla;";
    $respuesta = mysql_query($consulta, $conexion)
    or die("No se pudo ejecutar la consulta: ".mysql_error());
    while ($fila = mysql_fetch_array($respuesta, MYSQL_ASSOC)) {
            $columnas = array_keys($fila);
            foreach ($columnas as $columna) {
                if ( gettype($fila[$columna]) == "NULL" ) {
                    $values[] = "NULL";
                } else {
                    $values[] = "'".mysql_real_escape_string($fila[$columna])."'";
                }
            }
            $insert_into_query .= "INSERT INTO `$tabla` VALUES (".implode(", ", $values).");\n";
            unset($values);
    }
    
$dump .= <<<EOT

# | Vaciado de tabla '$tabla'
# +------------------------------------->
$drop_table_query


# | Estructura de la tabla '$tabla'
# +------------------------------------->
$create_table_query


# | Carga de datos de la tabla '$tabla'
# +------------------------------------->
$insert_into_query

EOT;
}

/* Envio */
if ( !headers_sent() ) {
    header("Pragma: no-cache");
    header("Expires: 0");
    header("Content-Transfer-Encoding: binary");
    switch ($compresion) {
    case "gz":
        header("Content-Disposition: attachment; filename=$nombre.gz");
        header("Content-type: application/x-gzip");
        echo gzencode($dump, 9);
        break;
    case "bz2": 
        header("Content-Disposition: attachment; filename=$nombre.bz2");
        header("Content-type: application/x-bzip2");
        echo bzcompress($dump, 9);
        break;
    default:
        header("Content-Disposition: attachment; filename=$nombre");
        header("Content-type: application/force-download");
        echo $dump;
    }
} else {
    echo "<b>ATENCION: Probablemente ha ocurrido un error</b><br />\n<pre>\n$dump\n</pre>";
}
?>

solo cambia los datos por los que tengas guardas el fichero con alguno nombre ejemplo file.php lo subes por ftp y lo ejecutas :p , un saludo espero que te salga todo bien :D
 

Cyber

Épsilon
Verificación en dos pasos desactivada
Desde
7 Abr 2010
Mensajes
810
Estoy de buen humor ya que mañana es mi cumpleaños y tu me ayudaste alguna vez en una duda con una respuesta bien grande : P , :

PHP:
<?php
/* Usuario para la conexion a Mysql. */
$usurio = "tu_usuario";
/* Password para la conexion a Mysql. */
$passwd = "la_clave";
 /* Host para la conexion a Mysql. */
$host = "localhost";
/* Base de Datos que se seleccionará. */
$bd = "tu_base_de_datos";
/* Nombre del fichero que se descargará. */
$nombre = "backup.sql"; // nombre del archivo que queres que genere !!!
/* Determina si la tabla será vaciada (si existe) cuando  restauremos la tabla. */            
$drop = false;
/* 
* Array que contiene las tablas de la base de datos que seran resguardadas.
* Puede especificarse un valor false para resguardar todas las tablas
* de la base de datos especificada en  $bd.
* 
* Ejs.:
* $tablas = false;
*    o
* $tablas = array("tabla1", "tabla2", "tablaetc");
* 
*/
$tablas = false;
/* 
* Tipo de compresion.
* Puede ser "gz", "bz2", o false (sin comprimir)
*/
$compresion = false;

/* Conexion y eso*/
$conexion = mysql_connect($host, $usurio, $passwd)
or die("No se conectar con el servidor MySQL: ".mysql_error());
mysql_select_db($bd, $conexion)
or die("No se pudo seleccionar la Base de Datos: ". mysql_error());


/* Se busca las tablas en la base de datos */
if ( empty($tablas) ) {
    $consulta = "SHOW TABLES FROM $bd;";
    $respuesta = mysql_query($consulta, $conexion)
    or die("No se pudo ejecutar la consulta: ".mysql_error());
    while ($fila = mysql_fetch_array($respuesta, MYSQL_NUM)) {
        $tablas[] = $fila[0];
    }
}


/* Se crea la cabecera del archivo */
$info['dumpversion'] = "1.1b";
$info['fecha'] = date("d-m-Y");
$info['hora'] = date("h:m:s A");
$info['mysqlver'] = mysql_get_server_info();
$info['phpver'] = phpversion();
ob_start();
print_r($tablas);
$representacion = ob_get_contents();
ob_end_clean ();
preg_match_all('/(\[\d+\] => .*)\n/', $representacion, $matches);
$info['tablas'] = implode(";  ", $matches[1]);
$dump = <<<EOT
# +===================================================================
# | YoDumpeo! {$info['dumpversion']}
# | por fran86 <fran86@myrealbox.com>
# |
# | Generado el {$info['fecha']} a las {$info['hora']} por el usurio '$usurio'
# | Servidor: {$_SERVER['HTTP_HOST']}
# | MySQL Version: {$info['mysqlver']}
# | PHP Version: {$info['phpver']}
# | Base de datos: '$bd'
# | Tablas: {$info['tablas']}
# |
# +-------------------------------------------------------------------

EOT;
foreach ($tablas as $tabla) {
    
    $drop_table_query = "";
    $create_table_query = "";
    $insert_into_query = "";
    
    /* Se halla el query que será capaz vaciar la tabla. */
    if ($drop) {
        $drop_table_query = "DROP TABLE IF EXISTS `$tabla`;";
    } else {
        $drop_table_query = "# No especificado.";
    }

    /* Se halla el query que será capaz de recrear la estructura de la tabla. */
    $create_table_query = "";
    $consulta = "SHOW CREATE TABLE $tabla;";
    $respuesta = mysql_query($consulta, $conexion)
    or die("No se pudo ejecutar la consulta: ".mysql_error());
    while ($fila = mysql_fetch_array($respuesta, MYSQL_NUM)) {
            $create_table_query = $fila[1].";";
    }
    
    /* Se halla el query que será capaz de insertar los datos. */
    $insert_into_query = "";
    $consulta = "SELECT * FROM $tabla;";
    $respuesta = mysql_query($consulta, $conexion)
    or die("No se pudo ejecutar la consulta: ".mysql_error());
    while ($fila = mysql_fetch_array($respuesta, MYSQL_ASSOC)) {
            $columnas = array_keys($fila);
            foreach ($columnas as $columna) {
                if ( gettype($fila[$columna]) == "NULL" ) {
                    $values[] = "NULL";
                } else {
                    $values[] = "'".mysql_real_escape_string($fila[$columna])."'";
                }
            }
            $insert_into_query .= "INSERT INTO `$tabla` VALUES (".implode(", ", $values).");\n";
            unset($values);
    }
    
$dump .= <<<EOT

# | Vaciado de tabla '$tabla'
# +------------------------------------->
$drop_table_query


# | Estructura de la tabla '$tabla'
# +------------------------------------->
$create_table_query


# | Carga de datos de la tabla '$tabla'
# +------------------------------------->
$insert_into_query

EOT;
}

/* Envio */
if ( !headers_sent() ) {
    header("Pragma: no-cache");
    header("Expires: 0");
    header("Content-Transfer-Encoding: binary");
    switch ($compresion) {
    case "gz":
        header("Content-Disposition: attachment; filename=$nombre.gz");
        header("Content-type: application/x-gzip");
        echo gzencode($dump, 9);
        break;
    case "bz2": 
        header("Content-Disposition: attachment; filename=$nombre.bz2");
        header("Content-type: application/x-bzip2");
        echo bzcompress($dump, 9);
        break;
    default:
        header("Content-Disposition: attachment; filename=$nombre");
        header("Content-type: application/force-download");
        echo $dump;
    }
} else {
    echo "<b>ATENCION: Probablemente ha ocurrido un error</b><br />\n<pre>\n$dump\n</pre>";
}
?>

solo cambia los datos por los que tengas guardas el fichero con alguno nombre ejemplo file.php lo subes por ftp y lo ejecutas :p , un saludo espero que te salga todo bien :D

Wow!! Sos un genio!!

Que tengas un feliz cumpleaños mañana, y me alegro que mi respuesta te haya sido de utilidad. Muchas gracias por esta ayuda!!

Ahora voy a recolectar todos los datos que necesito cambiar en el código, y voy a ejecutarlo (¿como se ejecuta?) Cuando termine les traigo novedades. Gracias!!!!!!!!!!!!!!!!!!!
 

Mcalderon

Zeta
Hospedaje
Verificación en dos pasos activada
Desde
27 Abr 2011
Mensajes
1.965
Administracion->mantenimiento del foro->Base de datos->Copia de seguridad de base de datos->descargar

saludos
 

skamasle

Mi
SysManager
Verificación en dos pasos desactivada
Desde
16 Oct 2010
Mensajes
3.091
Así como te dice firehost es la menera de hacerlo en SMF.. aunque a veces no funciona no se por que..

Otra es subir PHPmyadmin e ir a la ruta tusitio.com/phpmyadmin.

Otra es hacerlo como ya te dijeron mas arriba, aunque preguntas como se ejecuta el script.. pues muy sencillo tusitioweb.com/dondesubisteelscript.php

Y la ultima manera si tienes VPS, conectarte por ssh y hacer un mysqldump a tu base de datos y luego descargarlo por FTP

Eso es todo !
 

Mcalderon

Zeta
Hospedaje
Verificación en dos pasos activada
Desde
27 Abr 2011
Mensajes
1.965
Claro mi forma no es muy recomendable porque no podemos comprar smf con phpmyadmin, pero siempre he hecho backups asi y siempre me funcionan :) saludos
 

Cyber

Épsilon
Verificación en dos pasos desactivada
Desde
7 Abr 2010
Mensajes
810
Administracion->mantenimiento del foro->Base de datos->Copia de seguridad de base de datos->descargar

saludos

Muchas gracias por tu respuesta. El problema es que migré a otro hosting, y mientras demoraba el cambia de DNS se registraron nuevos usuarios, en la base de datos del antiguo servidor. Por eso, si ingreso desde SMF estoy accediendo a mi nueva base de datos. Lo que quería era cargar la vieja en el host nuevo. Gracias!!

Así como te dice firehost es la menera de hacerlo en SMF.. aunque a veces no funciona no se por que..

Otra es subir PHPmyadmin e ir a la ruta tusitio.com/phpmyadmin.

Otra es hacerlo como ya te dijeron mas arriba, aunque preguntas como se ejecuta el script.. pues muy sencillo tusitioweb.com/dondesubisteelscript.php

Y la ultima manera si tienes VPS, conectarte por ssh y hacer un mysqldump a tu base de datos y luego descargarlo por FTP

Eso es todo !

Muchas gracias por explicarme como ejecutarlo. Como menciono a firehost el dominio ya apunta al nuevo host, por lo que veo que no podré acceder a la base de datos vieja.

Tengo la triste noticia de informarles que parece que me han pateado de ese host. No porque haya hecho nada malo, todo lo contrario. No se que le sucede a esa gente, sé de otro usuario en el foro que también le cerraron la cuenta, y no le querían dar sus archivos. Por suerte, y conociendo su experiencia, pude sacar todo a tiempo. Aunque se han quedado con una copia de todos mis sitios, y eso es un delito.

Ya hace mucho que vienen dando un pésimo servicio. Por ejemplo, responden tickets con una semana de retraso, o no los responden. Y ante cualquier cosa te patean y listo. Hace unas horas envié un ticket preguntando como acceder a mi cPanel mediante la IP. Debe ser que no sabían o no tenían ganas de contestar, y ahora ya ni el FTP se conecta.

Son las cosas de Internet, al fin y al cabo, del otro lado del monitor hay personas, personas buenas como ustedes que me estan ayudando desinteresadamente, o personas malas que cuando pueden hacerte un daño y perjudicarte, lo hacen.

Cualquier novedad, les comento, pero viendo como opera ésta gente, no creo que haya mas noticias :bawling:

Gracias!! Un abrazo!!
 
Última edición:

Maiden Alan

1
Eta
Marketing
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
18 May 2011
Mensajes
1.451
Enlace eliminado

ahy deberias ver tu foro antiguo aun funcionando

para acceder cpanel del host antiguo

Enlace eliminado

para acceder ftp antiguo

Enlace eliminado

usuario y password de tu hosting

deberias acceder con tu usuario y password obviamente del anterior hosting salvo que te la hayan borrado ya no tendras acceso :coffee:
 

Cyber

Épsilon
Verificación en dos pasos desactivada
Desde
7 Abr 2010
Mensajes
810
ahy deberias ver tu foro antiguo aun funcionando

para acceder cpanel del host antiguo



para acceder ftp antiguo



usuario y password de tu hosting

deberias acceder con tu usuario y password obviamente del anterior hosting salvo que te la hayan borrado ya no tendras acceso :coffee:

Wow... sí que sabes mucho amigo... eres un crack... mi base de datos esta RECUPERADA!!!!!!!!

Te agradezco mucho, realmente mucho. Un abrazo!!
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba