Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Backup mysql desde delphi (https://www.clubdelphi.com/foros/showthread.php?t=95556)

kainchu3102 08-02-2022 07:18:57

Backup mysql desde delphi
 
buenas amigos la verdad me estado rompiendo la cabeza tengo un codigo para hacer un backup de MySql
pero el asunto es que me crea el script de la base de datos todo bien pero sin contenido osea en 0 kb
no se que es lo que estoy haciendo mal, me podrian ayudar por favor.

Código Delphi [-]
procedure TFORMCONEXION.BitBtn5Click(Sender: TObject);
begin
    ShellExecute(Handle,'open', 'cmd.exe',
  Pchar('/c "C:\MySql\Bin\mysqldump --opt --password=root --user=root bd_diagnos > C:\BACKUP\bd_diagnos.sql ')
 ,nil, SW_SHOW );
end;

end.

ese es el codigo

kainchu3102 08-02-2022 07:22:50

este seria el archivo

dec 08-02-2022 10:07:59

Hola a todos,

Se me ocurre que ejecutes el comando viendo su salida, de modo que acaso puedas ver si se produce algún error. Siguiendo este camino, averigua si "mysqldump" tiene algún argumento para ejecutarse en "modo verbose", de manera que sea posible obtener aún más información de su ejecución.

P.D. Dándole una vuelta, acaso no sea necesario que uses el código de Delphi para que puedas ver la "salida" del comando a ejecutar: aunque esto puede ser bueno por sí mismo, y, tal vez te interese hacerlo así, se me ocurre que podrías simplemente copiar el comando en el CMD (consola) de Windows, para al final intentar ver qué puede estar pasando.

Casimiro Notevi 08-02-2022 10:16:03

mysqldump mysql-database > database-backup.sql

kainchu3102 08-02-2022 16:49:13

he probado el codigo desde la consola cmd
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqldump --opt --password=root --user=root bd_diagnos > C:\BACKUP\bd_diagnos.sql

y lo hace correctamente pero nose porque desde delphi puse la misma sentencia y hace el backup pero 0kb sin contenido como indique en la imagen

el codigo de delphi
Código Delphi [-]
ShellExecute(Application.Handle,'open', 'cmd.exe',
  Pchar('/c ''C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqldump --opt --password=root --user=root bd_diagnos > C:\BACKUP\bd_diagnos.sql ')
 ,nil, SW_SHOW );
 ShowMessage('BACKUP SE HA REALIZADO CORRECTAMENTE');
 FORMCONEXION.Close;

aledieb 21-03-2022 15:28:31

Hola, recién vi los mensajes yo uso esta forma, es para mariadb pero supongo que es similar.

Código Delphi [-]
'mysqldump.exe  -u ' + sDBUser + ' -p' +  sDBClave + ' --add-drop-database --add-drop-table -c -a -K --databases '+sDBNombre+' > c:\backuparchivo.sql'


La franja horaria es GMT +2. Ahora son las 11:14:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi