إزالة بنود DEFINER من تفريغات MySQL
قد تحتوي تفريغات MySQL على عبارات DEFINER، التي تحدد المستخدم والمضيف اللذين قاما بإنشاء كائنات قاعدة البيانات التي يتم تفريغها . يمكن أن تشكل هذه البنود مخاوف أمنية أو تسبب تعارضات عند استيراد التفريغ إلى بيئة مختلفة.
للتخفيف من هذه المشكلات، غالبًا ما يكون من المرغوب فيه إزالة عبارات DEFINER من ملف التفريغ. على الرغم من أنه ليس من الممكن منع إضافة المحددات إلى التفريغ أثناء عملية التصدير، إلا أنه من الممكن إزالتها بعد ذلك.
تقنيات الإزالة
بعد إنشاء ملف التعريف dump، يمكن استخدام عدة طرق لإزالة عبارات DEFINER:
perl -p -i.bak -e "s/DEFINER=\`\w.*\`@\`\d[0-3].*[0-3]\`//g" mydatabase.sql
mysqldump ... | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > triggers_backup.sql
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3