Sab Feb 10, 2007 2:39 pm
|
 |
Emerson
Perlero Nuevo

|
Registrado: 16 Feb 2006
Mensajes: 32
|
|
| MYSQL backup |
|
|
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:
| Perl: | 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();
} |
|
|
|
|

Sab Feb 10, 2007 10:33 pm
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1390
Ubicación: México
|
|
|
|
|
Lo único que necesitas es abrir tu archivo y escribir en él en vez de el STDOUT como estás haciendo ahora:
| Perl: | 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;
} |
Saludos |
|

Mar Feb 13, 2007 6:52 am
|
 |
Emerson
Perlero Nuevo

|
Registrado: 16 Feb 2006
Mensajes: 32
|
|
| Gracias Amigo Kidd |
|
|
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.
| Perl: | 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;
} |
Nuevamente gracias amigo... |
|

Mar Feb 13, 2007 10:08 am
|
 |
Emerson
Perlero Nuevo

|
Registrado: 16 Feb 2006
Mensajes: 32
|
|
| Gracias |
|
|
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? |
|
Mar Feb 13, 2007 2:23 pm
|
 |
creating021
Vive para Perl en Español

|
Registrado: 23 Feb 2006
Mensajes: 498
Ubicación: Frente al monitor
|
|
|
|
|
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... |
|
Mie Feb 14, 2007 6:56 am
|
 |
Emerson
Perlero Nuevo

|
Registrado: 16 Feb 2006
Mensajes: 32
|
|
| Ayuda |
|
|
Me podrias decir como quedaría el código, por ejemplo, tengo una tabla llamada tbl_empreados, tbl_usuario entre otras..
Gracias.......... |
|
Mie Feb 14, 2007 12:59 pm
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1390
Ubicación: México
|
|
|
|
|
| Umm, con el método data_backup debería de ser suficiente. ¿Si te había funcionado antes? |
|
Mar Feb 20, 2007 3:10 pm
|
 |
Emerson
Perlero Nuevo

|
Registrado: 16 Feb 2006
Mensajes: 32
|
|
| Gracias ahora!!! |
|
|
| ya esta solucionado lo del Backup ahora necesito urgentemente el Restore, me imagino que es parecido pero no tengo ni idea como es............ |
|
Powered by phpBB © 2001, 2005 phpBB Group
|