SQL mysqldump Befehl für Backup

Pfandfinder

Lieutenant
Registriert
Nov. 2020
Beiträge
628
hallo,

ich verwende immer diese Art von Befehl für ein Datenbank-Backup. Was ist eure meinung dazu ? Ist das eine sichere Art ? ich verwende lock-tables, damit während dem Backup keine Änderung vorgenommen werden kann. Ist das so richtig gedacht? Würdet ihr noch andere Parameter empfehlen ?

Bash:
mysqldump -u DATENBANK -p'PASSWORT' --extended-insert=FALSE --lock-tables DATENBANK > backup_${NOW}.sql
 
nach -u kommt doch afaik der Benutzername sofern der in deinem Fall nicht DATENBANK lautet.
--lock-tables macht Sinn wenn nicht klar ist ob und ggf. wann Änderungen laufen. Ich hab hier beispielsweise eine kleine mariadb da kommen nur Änderungen durch eine Anwendung rein und das Backup läuft nur wenn die Anwendung nicht läuft, aber schaden tut es nicht es drin zu lassen.
Du solltest zusätzlich auch die diversen .cnf Dateien sichern falls du nicht nur einzelne Datenbanken sondern den gesamten Server wiederherstellen musst.
Außerdem solltest du noch --all-databases verwenden um alle Datenbanken zu sichern. Mysql/mariadb speichert auch die DBMS-Benutzer, Credentials und deren Berechtigungen in einer eigenen Datenbank ;)
 
Ich würde das Passwort als env-Variable speichern, dann taucht es nicht in z.B. deiner bash history auf. Evtl. ist es eine alternative, einen Linux-User zu erstellen, der das ganze ohne Passwort darf und dann diesen zu benutzen.
 
  • Gefällt mir
Reaktionen: Sonnenkarma und snaxilian
Zurück
Oben