用mysqldump 備份數據庫,而後恢復的時候報錯以下:mysql
ERROR 1305 (42000) at line 9089: FUNCTION 538329e1768cd.Fn_ParentsList_Select does not exist
通過查找,發現是mysqldump 不加任何參數的狀況下是不會導出存儲過程與函數,若是須要導出函數與存儲過程須要加一個 -Rweb
這樣導出的sql 文件裏面才包括存儲過程與函數sql
若是隻須要導出存儲過程,函數,則執行:shell
mysqldump --database dbname -ntdR --triggers=false>dbname.sql
其中,-d 表示--no-create-db, -n表示--no-data, -t表示--no-create-info, -R表示導出function和procedure。因此上述代碼表示僅僅導出函數和存儲過程,不導出表結構和數據。 --triggers=false 表示不導出 triggers數據庫
數據與函數,存儲過程全導出,執行:less
mysqldump --database dbname -R >dbname.sql
另一個錯誤,在配置文件中加入:函數
log-bin-trust-function-creators=1 或者是: set global log_bin_trust_function_creators=1;
不然報錯以下:spa
This FUNCTION has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_FUNCTION_creators variable)