Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/01/2008, 08:07
cmarrero
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Exportar E Importar Mysql

Necesito exportar mi Base de Datos local e Importarla a mi Base de Datos en Internet, que se llama igual y tiene practicamente las mismas caracteristicas una con otra...

Exportarla no ahi problema... pongo el siguiente codigo:

Código PHP:
$filename "fichero.sql";  
// Cabezeras para forzar al navegador a guardar el archivo 
header("Pragma: no-cache"); 
header("Expires: 0"); 
header("Content-Transfer-Encoding: binary"); 
header("Content-type: application/force-download"); 
header("Content-Disposition: attachment; filename=$filename"); 

$usuario="pdu1906";  // Usuario de la base de datos, un ejemplo podria ser 'root' 
$passwd="netcom";  // Contraseña asignada al usuario 
$bd="pdu1906_1";  // Nombre de la Base de Datos a exportar 

// Funciones para exportar la base de datos 
$executa "c:\\servidor\\mysql\\bin\\mysqldump.exe -u $usuario --password=$passwd --opt $bd"
system($executa$resultado); 

// Comprobar si se a realizado bien, si no es asi, mostrará un mensaje de error 
if ($resultado) { echo "<H1>Error ejecutando comando: $executa</H1>\n"; } 
EL PROBLEMA ES IMPORTARLA A LA DE INTERNET...

lo que quiero hacer es realizar la actualizacion de los datos cargados en la base de datos local con la de internet, lo que se me ocurrio es hacer un script en php que me haga eso automaticamente, ingreso a mi pagina local de la forma //netcom/exportar.php, hago clik en un link que direcciona a base.php que me gurada en un fichero.sql la base de datos exportada...

Y en internet en la pagina www.netcomsl.com.ar/sistema/bbdd/importar.php un link para que me importe desde el archivo fichero.sql a la base de datos REMOTA... de esta manera actualizo manualmente cuando quiero la base de datos, ya que no se si se puede hacer una actualizacion de la base en forma automatica.... es por que utilizo una intranet sin conexion a internet, y una sola maquina SERVIDOR que esta conectada a internet, desde esa maquina servidor donde tengo alojada mi MySQL quiero importarla a la de internet, para que puedan ver la informacion de la intranet en otro lado...

Por razones de seguridad, no posteo la maquina a internet, para que accedan a la maquina servidor desde internet, deseo hacerlo de alguna otra manera...

el script que no me funciono para importar la base de datos a internet es el siguiente...

Código PHP:
<?
 
 $url
"fichero.sql";
 
$nowhost"localhost";
 
$nowdatabase"pdu1906_1";
 
$nowuser"pdu1906";
 
$nowpass"netcom";

function 
parse_mysql_dump($url,$nowhost,$nowdatabase,$nowuser,$nowpass){
    
$link mysql_connect($nowhost$nowuser$nowpass);
        if (!
$link) {
           die(
'Not connected : ' mysql_error());
        }
        
        
// make foo the current db
        
$db_selected mysql_select_db($nowdatabase$link);
        if (!
$db_selected) {
           die (
'Can\'t use foo : ' mysql_error());
        }
   
$file_content file($url);
   foreach(
$file_content as $sql_line){
     if(
trim($sql_line) != "" && strpos($sql_line"--") === false){
     
//echo $sql_line . '<br>';
       
mysql_query($sql_line);
     }
   }
  }

?>
probe tambien con el siguiente:

Código PHP:
<?
set_time_limit
(0);
$sql_statements =  file_get_contents ("fichero.sql");
$arr_sql =  preg_split('/;[\n\r]+/',$sql_statements);
echo 
count($arr_sql);
reset($arr_sql);
$arr_success=array();
$arr_failure=array();
$db=new DB_Sql;
while (list(
$k,$v)=each($arr_sql))
 {
 if (
trim($v)!="")
  {
?><li><?=$v?><?
 
  
if (!$db->query($v))
   echo 
"<b>"  $db->Errno  "</b> : "$db->Error ;
  
ob_flush();
  
flush();
  
?></li><? }
 }
?>

UNA AYUDITA....