21 Stimmen

Wie man gespeicherte Prozeduren in MySQL sichert

Ich benutze mysqldump mit MySQL 5.0 und ich sichere es jeden Tag, aber ich verstehe die Methode nicht, dass nur gespeicherte Prozeduren gesichert werden.

Wie kann ich sie sichern?

47voto

Stobor Punkte 42091

Ich bin mir nicht sicher, ob Sie danach fragen, gespeicherte Prozeduren sowie alles andere zu sichern, oder nur die gespeicherten Prozeduren selbst...

Das Verfahren wird zusammen mit allem anderen in einer Müllhalde gespeichert:

mysqldump -R <dbname> #or
mysqldump --routines <dbname>

Nur die gespeicherten Prozeduren:

mysqldump -n -t -d -R <dbname> #or
mysqldump --no-create-db --no-create-info --no-data --routines <dbname>

Ist das hilfreich?

1 Stimmen

Zumindest in meiner Version von mysqldump (mysqldump Ver 10.13 Distrib 5.1.69, für debian-linux-gnu (x86_64)) sollte das -R sein, nicht -r. Aus der Dokumentation: -R, --routines Dump gespeicherte Routinen (Funktionen und Prozeduren). -r, --result-file=name Direkte Ausgabe in eine angegebene Datei. Diese Option sollte unter MSDOS verwendet werden, da sie verhindert, dass neue Zeilen ' \n ' vor der Umwandlung in ' \r\n ' (Wagenrücklauf + Zeilenvorschub).

1 Stimmen

@davej Guter Punkt - das habe ich wohl irgendwie übersehen. (Ich würde gerne glauben, dass ich es getestet habe, aber ich glaube nicht...) Danke für den Hinweis.

0 Stimmen

DOS>mysqldump -uroot -p -n -t -d -R test > test_procs.sql

0voto

manoj Punkte 1
mysqldump - u dbusername (ex: -uroot) -ppassword (ex:-pmysql@dbpas) --routines <dbname>

die Verwendung des Benutzernamens und des Passworts könnte hilfreicher sein.

0voto

David G Punkte 4722

Sie können auch routines=true im [mysqldump] Abschnitt Ihres my.cnf Datei (möglicherweise müssen Sie diesen Abschnitt hinzufügen, da er normalerweise nicht in einer jungfräulichen my.cnf Datei), um Routinen in einen normalen Dump einzubinden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X