Seite 1 von 1

Datensicherung einer MySQL Datenbank

Verfasst: 13.04.2021 10:15
von MenschMarkus
Hallo zusammen,

ich habe eine MySQL Datenbank mit mehreren Tabellen. ich würde diese gerne einmal sichern.
Unter MySQL gibt es den mysqldump Befehl. Wie kann ich den denn aus PB heraus ausführen und wie bekomme ich die SQL Datei gespeichert?
Eine Alternative ist natürlich den Code in PB selbst zu schreiben, doch wenn ich das umgehen kann...

Re: Datensicherung einer MySQL Datenbank

Verfasst: 13.04.2021 10:42
von NicTheQuick
Du kannst es zum Beispiel mit RunProgram aufrufen und zusammen mit dem Parameter `--result-file=file_name, -r file_name`alles direkt in eine Datei schreiben lassen.

Re: Datensicherung einer MySQL Datenbank

Verfasst: 13.04.2021 10:46
von MenschMarkus
Danke für die Antwort Nick.
Vielleicht sollte ich noch erwähnen, dass die MySQL DB in einer VM unter Linux läuft und ich diese via ODBC verwende. Ich weiß nicht, ob ich da mit RunProgram weiter komme.

Re: Datensicherung einer MySQL Datenbank

Verfasst: 13.04.2021 11:44
von NicTheQuick
Achso, du bist unter Windows und auch noch hinter ODBC. Da habe ich keine Ahnung. Vielleicht klappt ein SELECT ... INTO Statement. Das habe ich aber selbst noch nicht probiert und man muss wohl ganz spezifisch angeben wie die Ausgabedatei formatiert sein soll.

Re: Datensicherung einer MySQL Datenbank

Verfasst: 13.04.2021 11:58
von MenschMarkus
Hab Ich schon befürchtet, dass ich das dann doch selbst programmierne muss.
SELECT INTO wird nicht funktionieren, da der Export in eine Datei in SQL Syntax geschrieben wird.
Was solls, dann ist das so und investieren noch etwas Zeit.

Danke für den Versuch

Re: Datensicherung einer MySQL Datenbank

Verfasst: 22.04.2021 08:05
von SirMatti74
MySQL-Backups konnte ich mittels MySQLDump.exe immer so erstellen:

Code: Alles auswählen

MySQLDumpProgramName.s  = "C:\Test\mysqldump.exe"
MySQLDumpParameter.s    = "-u Root "                                          ; Username - hier: Root
MySQLDumpParameter.s    + "-p12345678 "                                       ; Passwort - hier: 12345678 
MySQLDumpParameter.s    + "-h mysql.test.local "                              ; Hostname - hier: mysql.test.local
MySQLDumpParameter.s    + "-r "+Chr(34)+"C:\Test\Dumpfile.sql"+Chr(34)+" "    ; Dumpfile - hier: C:\Test\Dumpfile.sql
MySQLDumpParameter.s    + "-v "                                               ; weitere Parameter - hier: Verbose-Modus
MySQLDumpParameter.s    + "dbTest"                                            ; Datenbank - hier: dbTest
MySQLDumpWorkingDir.s   = "C:\Test"
MySQLDumpFlags.i        = #PB_Program_Open

MySQLDumpRunProgram = RunProgram(MySQLDumpProgramName, MySQLDumpParameter, MySQLDumpWorkingDir, MySQLDumpFlags)