2010-10-05 9 views
15

मैं केवल एक उपयोगकर्ता के लिए पढ़ने के लिए mysql में एक तालिका कैसे बना सकता हूं, जबकि उसके पास अभी भी उसी डीबी में अन्य तालिकाओं तक पहुंच पहुंच है?mysql में केवल एक ही तालिका को पढ़ने के लिए केवल

अतिरिक्त जानकारी

  • मैं सर्वर
  • टेबल्स MyISAM हैं पर रूट पहुँच
  • सर्वर संस्करण 5.0.51a-24 + lenny2

धन्यवाद है!

उत्तर

6

सभी पिछले विशेषाधिकार निरस्त करें और फिर विशिष्ट नई विशेषाधिकार देते हैं:

REVOKE ALL ON db.table FROM user; 
REVOKE ALL ON db.othertable FROM user; 
GRANT SELECT ON db.table TO user; 
GRANT SELECT, INSERT, UPDATE, DELETE ON db.othertable TO user; 
+3

इस उपयोगकर्ता को पहले से ही इस तालिका मैं उन निरस्त करें और प्रत्येक मेज पर अलग-अलग टेबल विशेषाधिकार असाइन या मैं पर विशेषाधिकार ओवरराइड कर सकते हैं चाहिए पर "सभी विशेषाधिकार" है केवल चयन के साथ एकल तालिका? – ChrisR

+1

@ क्रिस वैध प्रश्न। फिर भी, बस इसे स्वयं करने की कोशिश करना सेकंड का मामला होना चाहिए;) – sfussenegger

+3

सच है लेकिन मैं वास्तव में लाइव डेटाबेस पर कोशिश करने के लिए उत्सुक नहीं हूं और उसी डेटा के साथ एक परीक्षण डेटाबेस स्थापित करना सेकंड की बात नहीं है :) मैं करूँगा इसका परीक्षण करें, देखते हैं कि मैं लाइव डीबी का स्थानीय दर्पण कितनी तेज़ी से प्राप्त कर सकता हूं :) – ChrisR

3

आप केवल मेज संपीड़ित करके एक भी MyISAM तालिका को पढ़ कर सकते हैं। तालिका पैक करने के लिए कमांड लाइन पर myisampack का उपयोग करें।

अधिक जानकारी MySQL मैनुअल में पाया जा सकता: http://dev.mysql.com/doc/refman/5.0/en/myisampack.html

संबंधित मुद्दे