什么是存儲過程?
存儲過程,是被存儲在數據庫中的目錄,并且可以由一個程序、一個觸發器或者甚至一個存儲過程以后調用的聲明的sql代碼段。
什么是觸發器?
觸發器是事件驅動的專屬程序,它們被存儲下來,由數據庫管理。觸發器是發起一個事件后觸發一個SQL過程(像:INSERT,delete或UPDATE)都可以觸發。
當我們執行mysqldump ,它會自動觸發的備份,但默認不會備份存儲過程。
備份存儲程序和常見的例子
我們需要指定 -routines 參數來完成數據和表的存儲過程的備份。 以下命令將包括存儲過程的整個數據庫的備份。例如你的數據庫名稱為“mydb”。
# mysqldump -u root -p --routines mydb > mydb.sql
登錄后復制
只備份存儲過程和觸發器(無數據和表格)使用以下命令。
# mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt mydb > mydb.sql
登錄后復制
恢復存儲過程
要恢復數據庫的存儲過程使用下面的簡單命令,但要確保你已經備份,以避免之前任何數據的丟失。
# mysql -u root -p mydb
登錄后復制