2009-05-19 18 views

risposta

43

non sono sicuro se si sta chiedendo di eseguire il backup di stored procedure, così come tutto il resto, o solo le stored procedure per conto proprio ...

memorizzati procedured in discarica con tutto il resto:

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

Proprio le stored procedure:

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

fa questo aiuto?

+1

Nella mia versione di mysqldump (mysqldump Ver 10.13 Distrib 5.1.69, per debian-linux-gnu (x86_64)), almeno, dovrebbe essere -R, non -r. Dal doc: -R, --routine Esegui il dump di stored procedure (funzioni e procedure). -r, --result-file = nome Emissione diretta su un determinato file. Questa opzione dovrebbe essere utilizzata in MSDOS, perché impedisce che la nuova riga '\ n' venga convertita in '\ r \ n' (ritorno a capo + avanzamento riga). – davej

+1

@davej Buon punto - Immagino di essermi perso in qualche modo. (Mi piacerebbe pensare di averlo provato, ma suppongo di no ...) Grazie per il messaggio. – Stobor

0

mysqldump - u dbusername (es: -uroot) ppassword (es: -pmysql @ dbpas) --routines

utilizzare il nome utente e la password potrebbe essere più utile.

0

Si può anche mettere routines=true nella sezione [mysqldump] del file my.cnf (potrebbe essere necessario aggiungere questa sezione in quanto non è di solito presente in un file vergine my.cnf) per includere le routine in una discarica normale.

Problemi correlati