شرح صفوف ومحتوى الفقرة
من أشهر الأخطاء الكارثية في بيئات الإنتاج الاكتفاء بالأمر الافتراضي لـ mysqldump ثم اكتشاف اختفاء الإجراءات المخزنة والدوال والأحداث المجدولة عند استعادة النسخة! لذا يجب معرفة الخيارات الإلزامية لتضمين كافة الكائنات البرمجية:
--triggers(مُفعّل افتراضياً): يتم نسخ المشغلات التلقائية (Triggers) المرتبطة بالجداول افتراضياً دون الحاجة لكتابة الخيار.--routines(يجب إضافته صراحةً): ضروري لتضمين كافة الإجراءات المخزنة (PROCEDURES) والدوال (FUNCTIONS) في ملف النسخة.--events(يجب إضافته صراحةً): ضروري لتضمين المهام الزمنية المجدولة (EVENTS).--no-data(أو الاختصار-d): ينسخ هيكل الجداول والفهارس والقيود فقط (CREATE TABLE) دون أي صفوف بيانات، وهو مثالي لإنشاء بيئات الاختبار الفارغة.--no-create-info(أو الاختصار-t): ينسخ بيانات الصفوف (INSERT) فقط دون جمل إنشاء الجداول.
SQL
-- Verify routines, triggers, and events in shop_db before dumping:
SELECT ROUTINE_TYPE, ROUTINE_NAME
FROM information_schema.ROUTINES
WHERE ROUTINE_SCHEMA = 'shop_db';
-- Complete production mysqldump command including routines & events:
-- mysqldump -u root -p --single-transaction --routines --events --triggers shop_db > shop_complete.sql
-- Schema-only dump (no row data):
-- mysqldump -u root -p --no-data --routines --events shop_db > shop_schema_only.sql