एक विदेशी कुंजी बाधा को बदलने के लिए न्यूनतम विशेषाधिकार की क्या आवश्यकता है?
MySQL 5.5.41 के इस बग को ठीक करने के बाद मेरी माइग्रेशन स्क्रिप्ट ने काम करना बंद कर दिया :
- InnoDB ने एक विदेशी कुंजी बनाने की अनुमति दी जिसने एक मूल तालिका का संदर्भ दिया जिसके लिए उपयोगकर्ता के पास पर्याप्त विशेषाधिकार नहीं थे। (बग # 18790730)
मुझे यह त्रुटि मिली:
SQLSTATE [42000]: सिंटैक्स त्रुटि या पहुंच उल्लंघन: 1142 संदर्भ निर्देश तालिका 'core.users' के लिए उपयोगकर्ता 'foo' @ 'लोकलहोस्ट' से इनकार किया (SQL: परिवर्तन तालिका `user_baz` ने उपयोगकर्ता_baz_user_id_foreign विदेशी कुंजी (` user_id`) संदर्भों को संदर्भित किया) `कोर` अपडेटर्स पर `(` आईडी`) डिलीट कैस्केड को अपडेट कैस्केड पर)
जिसका मतलब है कि मुझे विशेषाधिकारों को ठीक करने की आवश्यकता है। मुझे न्यूनतम विशेषाधिकार क्या चाहिए?
GRANT REFERENCES ON test.user_baz TO 'foo'@'localhost';