• Publicidad

MYSQL backup

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

MYSQL backup

Notapor Emerson » 2007-02-10 15:39 @693

Buenas, saludos...
Mi problema es que quiero hacer un backup de una base de datos y guardarlo en un archivo .sql; mi base de datos se llama bd_sidispol, usuario root clave ' '. Tengo la forma de hacerlo, pero mi problema es que no sé cómo agregar los datos del backup que lo guarda en la variable $mb en el archivo que hago cuando llamo el getSaveFile....

Si me pueden ayudar se lo agradezco, gracias..

Aquí le pongo el código:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use Tk;
use DBI;
use MySQL::Backup;
#use strict;
#use warnings;
$mw = MainWindow->new(-title=>"Menu");
$bt1=$mw->Button(-text=>"Backup",-command=>\&backup)->place(-x=>80,-y=>10);

 my $types = [ ['Perl files', '.sql'],
              ['All Files',   '*'],];


$mw->MainLoop;
sub backup{
my $save = $mw->getSaveFile(-filetypes => $types,
                             -initialfile => 'test',
                             -defaultextension => '.sql');
  print qq{You chose to save as "$save"\n#} if $save;
  #de aqui quiero que que guarde en el archivo que escriio los datos de la variable $mb que esta abajo

  my $mb = new MySQL::Backup('bd_sidispol','localhost','root','',{'USE_REPLACE' => 1, 'SHOW_TABLE_NAMES' => 1});
  print $mb->create_structure();
  print $mb->data_backup();

}
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
MRSON
Emerson
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2006-02-16 08:39 @402

Publicidad

Notapor kidd » 2007-02-10 23:33 @023

Lo único que necesitas es abrir tu archivo y escribir en él en vez de el STDOUT como estás haciendo ahora:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
sub backup{

    my $save = $mw->getSaveFile(-filetypes => $types,
                                                   -initialfile => 'test',
                                        -defaultextension => '.sql');

    print qq{You chose to save as "$save"\n#} if $save;

      #de aqui quiero que que guarde en el archivo que escriio los datos de la variable $mb que esta abajo

    my $mb = new MySQL::Backup('bd_sidispol','localhost','root','',{'USE_REPLACE' => 1, 'SHOW_TABLE_NAMES' => 1});


     #Abrimos el archivo y escribimos en él
     open my $FILE, '>', $save or die("Unable to create file $save: $!");
     print {$FILE} $mb->create_structure();
     print {$FILE} $mb->data_backup();
     close $FILE;

}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4



Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Gracias Amigo Kidd

Notapor Emerson » 2007-02-13 07:52 @370

Muchas gracias por tu ayuda amigo, ahora tengo otra inquietud, en el código que te escribo abajo guardo lo que quería. Ahora quiero que cuando abra la ventana getSaveFile apunte a una carpeta que está en una dirección específica, ejemplo c:\SIDISPOL\BACKUP.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use Tk;
use DBI;
use MySQL::Backup;
$mw = MainWindow->new(-title=>"Menu");
$bt1=$mw->Button(-text=>"Backup",-command=>\&backup)->place(-x=>80,-y=>10);
 my $types = [ ['Perl files', '.sql'],
              ['All Files',   '*'],];
$mw->MainLoop;
sub backup{
    my $save = $mw->getSaveFile(-filetypes => $types,
                                               -initialfile => 'test',
                                               -defaultextension => '.sql');
    my $mb = new MySQL::Backup('bd_sidispol','localhost','root','051294',{'USE_REPLACE' => 1, 'SHOW_TABLE_NAMES' => 1});
     #Abrimos el archivo y escribimos en él
     open my $FILE, '>', $save or die("Unable to create file $save: $!");
     print {$FILE} $mb->create_structure();
     print {$FILE} $mb->data_backup();
     close $FILE;
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Nuevamente gracias amigo...
MRSON
Emerson
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2006-02-16 08:39 @402

Notapor kidd » 2007-02-13 10:06 @462

Puedes usar el parametro -initialdir para iniciar en un directorio por default, su uso es similar al de -initialfile :

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
 my $save = $mw->getSaveFile(-filetypes => $types,
                                               -initialfile => 'test',
                                               -initialdir  => 'c:\SIDISPOL\BACKUP',
                                               -defaultextension => '.sql');
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4



Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Gracias

Notapor Emerson » 2007-02-13 11:08 @506

Esto lohago para hacer un copia de seguridad de una base de datos...

Gracias amigo KIDD, ahora esta archivo solo guarda la estructura solamente. ¿Como hago para que copie tambien los registros existente en las tabla?
MRSON
Emerson
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2006-02-16 08:39 @402

Notapor creating021 » 2007-02-13 15:23 @683

Primero deberías chequear que $save sea un archivo valido, es decir, deberías de mirar si $save está definido antes de usra el die en tu programa.

Para lo otro, podrías usar $mb->table_data($nombre_de_tabla) que trae todo lo existente en la tabla...
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Ayuda

Notapor Emerson » 2007-02-14 07:56 @372

Me podrias decir como quedaría el código, por ejemplo, tengo una tabla llamada tbl_empreados, tbl_usuario entre otras..

Gracias..........
MRSON
Emerson
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2006-02-16 08:39 @402

Notapor kidd » 2007-02-14 13:59 @624

Umm, con el método data_backup debería de ser suficiente. ¿Si te había funcionado antes?
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Gracias ahora!!!

Notapor Emerson » 2007-02-20 16:10 @715

ya esta solucionado lo del Backup ahora necesito urgentemente el Restore, me imagino que es parecido pero no tengo ni idea como es............
MRSON
Emerson
Perlero nuevo
Perlero nuevo
 
Mensajes: 32
Registrado: 2006-02-16 08:39 @402


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados