Cara sandaran/memulihkan prosedur & pencetus mysql yang disimpan
- 4555
- 747
- Chris Little I
Prosedur tersimpan dan Pencetus pertama kali diperkenalkan dengan mysql 5.0. Jadi jika anda masih menggunakan Mysql Versi Lama Menaik tarafnya ke MySQL 5.0 atau versi yang lebih tinggi untuk menggunakan ciri -ciri ini.
Artikel ini akan membantu anda dengan cara membuat pembuangan prosedur dan pencetus yang tersimpan menggunakan mysqldump perintah.
Apa yang disimpan prosedur?
Prosedur yang disimpan, mengikut definisi, adalah segmen kod SQL deklaratif yang disimpan dalam katalog pangkalan data dan boleh dipanggil kemudian oleh program, pencetus, atau bahkan prosedur yang disimpan.
Apa itu pencetus?
Pencetus adalah prosedur khusus yang didorong oleh peristiwa, mereka disimpan dan diuruskan oleh pangkalan data. Pencetus adalah prosedur SQL yang memulakan tindakan pada peristiwa (seperti memasukkan, memadam atau mengemas kini) berlaku.
Apabila kita hanya melaksanakan mysqldump, Ia secara automatik mengambil sandaran pencetus tetapi ia tidak akan membuat sandaran prosedur yang disimpan secara lalai.
Prosedur dan rutin yang disimpan sandaran
Kita perlu menentukan --rutin
Untuk mengambil sandaran prosedur yang disimpan dengan data dan jadual.
Perintah berikut akan membuat sandaran keseluruhan pangkalan data termasuk prosedur yang disimpan. Contohnya, nama pangkalan data anda ialah "mydb".
mysqldump -u root -p - -routines mydb> mydb.SQL
Untuk mengambil sandaran hanya prosedur dan pencetus yang tersimpan (tidak termasuk struktur meja dan data) Gunakan arahan berikut.
mysqldump--routine --no-create-info --no-data --no-create-db --kip-opt-opt mydb> mydb.SQL
Memulihkan prosedur
Untuk memulihkan prosedur tersimpan dalam pangkalan data hanya gunakan arahan berikut, tetapi pastikan anda telah mengambil sandaran dengan betul sebelum memulihkannya untuk mengelakkan sebarang kehilangan data.
mysql -u root -p mydb < mydb.sql
Rujukan: Prosedur yang disimpan, pencetus
- « Cara menggunakan fungsi dalam skrip shell bash
- fail input pg_restore [archiver] tidak kelihatan sebagai arkib yang sah »