como exportar una bd

Iniciado por RedZer, 14 Julio 2011, 19:06 PM

0 Miembros y 1 Visitante están viendo este tema.

RedZer

mi duda es la siguiente como puedo exportar una bd que esta en la siguiente ruta
localhost/phpmyadmin desde una aplicasion web.
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo

Nakp

que tu aplicación web sea phpmyadmin no quiere decir que la base de datos está ahí

http://codex.wordpress.org/Backing_Up_Your_Database#Backup_Process_with_phpMyAdmin
Ojo por ojo, y el mundo acabará ciego.

RedZer

Cita de: Nakp en 14 Julio 2011, 21:34 PM
que tu aplicación web sea phpmyadmin no quiere decir que la base de datos está ahí

http://codex.wordpress.org/Backing_Up_Your_Database#Backup_Process_with_phpMyAdmin

Nakp solo puse esa ruta como ejemplo mi duda no es el ejemplo k m planteaste.
lo que yo deceo hacer es programar un formulario por decirlo asi para k el administrador del sistema no tenga que irse a esa ruta localhost/phpmyadmin y realizar los pasos que tu me acabas de plantear .
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo

madpitbull_99

Tienes que crear un aplicación que conecte con la base de datos, seleccione todos los registros, guardarlos en un fichero y enviarlo al usuario (luego borrarlo).

Si estás en Linux, puedes hacer una aplicación que haga un backup usando el mysqldump. Envías el comando desde la aplicación PHP.



«Si quieres la paz prepárate para la guerra» Flavius Vegetius


[Taller]Instalación/Configuración y Teoría de Servicios en Red

RedZer

esto es lo k andaba buscando dejo el code por si alguien le interesa gracias madpitbull y nakp

Código (php) [Seleccionar]

<?php
/* Usuario para la conexion a Mysql. */
$usurio "root";
/* Password para la conexion a Mysql. */
$passwd "root";
 
/* Host para la conexion a Mysql. */
$host "localhost";
/* Base de Datos que se seleccionará. */
$bd "test";
/* Nombre del fichero que se descargará. */
$nombre "dump.txt";
/* 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($respuestaMYSQL_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 haya 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 haya 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($respuestaMYSQL_NUM)) {
            
$create_table_query $fila[1].";";
    }
    
    
/* Se haya 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($respuestaMYSQL_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($dump9);
        break;
    case 
"bz2"
        
header("Content-Disposition: attachment; filename=$nombre.bz2");
        
header("Content-type: application/x-bzip2");
        echo 
bzcompress($dump9);
        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>";
}
?>

Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo