जैसा कि मैंने देखा कि आपके डेटाबेस को केवल पढ़ने के लिए क्यों सेट किया जा रहा है, इसके दो व्यापक कारण हैं:
1) MySQL स्वयं को केवल पढ़ने के लिए सेट कर रहा है
मुझे यकीन नहीं है कि MySQL को केवल पढ़ने के लिए क्या कारण हो सकता है, शायद डिस्क समस्याएं या डेटाबेस का भ्रष्टाचार? किसी भी स्थिति में मैं लॉग में कुछ प्रकट होने की अपेक्षा करता हूं, इसलिए MySQL (और सिस्टम) लॉग की जांच करें।
2) क्लाइंट डेटाबेस को केवल पढ़ने के लिए सेट कर रहा है
MySQL से जुड़ने वाले क्लाइंट केवल कमांड का उपयोग करके डेटाबेस को रीड ओनली सेट कर सकते हैं:
SET GLOBAL read_only = ON;
हालांकि ऐसा करने के लिए उपयोगकर्ता के पास SUPER
. होना आवश्यक है विशेषाधिकार MySQL का उपयोग करने वाली वेबसाइटों, एप्लिकेशन आदि के लिए इस अनुमति की आवश्यकता नहीं होनी चाहिए - इसे केवल उस व्यवस्थापक खाते के लिए रखें जिसका उपयोग आप डेटाबेस को प्रशासित करने के लिए करते हैं।
उन अनुमतियों को लॉक करें जो प्रत्येक उपयोगकर्ता के पास हैं, इसलिए उन्हें केवल उन चीजों को करने की अनुमति है जो उन्हें लागू होने वाले डेटाबेस / टेबल पर चाहिए। यदि आप कुछ आउट-ऑफ़-द-बॉक्स एप्लिकेशन का उपयोग कर रहे हैं, तो उन्हें निर्देशों के साथ आना चाहिए जो यह बताते हैं कि किन अनुमतियों की आवश्यकता है (उदा. SELECT, INSERT, DELETE, UPDATE
)।