MySQL5.0首先介紹了預存程序和觸發器。因此,如果你仍在使用MySQL舊版可以將其升級到MySQL 5.0或更高版本以使用這些功能。本文將介紹如何使用mysqldump指令轉儲預存程序和觸發器。
什麼是預存程序?
根據定義,預存程序是儲存在資料庫目錄中的宣告式SQL程式碼區段,可以在以後由程式、觸發器甚至預存程序呼叫。
什麼是觸發器?
觸發器是事件驅動的專用過程,它們儲存在資料庫中並由資料庫管理。觸發器是對發生的事件(如插入、刪除或更新)啟動操作的SQL過程。
當我們簡單地執行mysqldump時,它會自動備份觸發器,但預設不會備份預存程序。
備份預存程序和routines
我們需要指定--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 < mydb.sql
以上是mysql轉儲/恢復預存程序和觸發器的詳細內容。更多資訊請關注PHP中文網其他相關文章!