2011-03-13 10 views
7

पर सभी उपयोगकर्ताओं से के लिए सभी विशेषाधिकार निरस्त करें: http://dev.mysql.com/doc/refman/5.0/en/drop-database.htmlएक MySQL DB

... जब एक डेटाबेस हटा दिया गया है, डेटाबेस पर उपयोगकर्ता विशेषाधिकार स्वचालित रूप से नहीं कर रहे हैं गिरा दिया।

तो प्रश्न बन जाता है, आप MySQL डीबी पर सभी उपयोगकर्ताओं के लिए सभी विशेषाधिकारों को कैसे रद्द करते हैं? मुझे कल्पना है कि यह आसान है, लेकिन मुझे आश्चर्य है कि मैं इसे कहीं भी नहीं ढूंढ पाया।

+1

आप [ 'revoke'] (http://dev.mysql.com/doc उपयोग कर सकते हैं /refman/5.1/en/revoke.html) कमांड। – ryanprayogo

उत्तर

10

आप this syntax के साथ एक विशिष्ट उपयोगकर्ता के लिए सभी विशेषाधिकारों को रद्द कर सकते हैं:

REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ... 
FLUSH PRIVILEGES; 

जो सभी वैश्विक, डेटाबेस, टेबल, नामित उपयोगकर्ता के लिए स्तंभ, और नियमित विशेषाधिकार या उन बूंदों

हालांकि, यह सुनिश्चित नहीं है कि सभी उपयोगकर्ताओं के लिए एक बार ऐसा करने का कोई तरीका है या नहीं।

+2

ध्यान देने योग्य है, कम से कम "अनुदान विकल्प" 5.5 आवश्यक है, भले ही उपयोगकर्ता के पास अनुदान विकल्प – CrackerJack9

-2
USE mysql; 
DELETE * FROM user; 
FLUSH PRIVILEGES; 

..., जड़ और जो कुछ भी आप के साथ कनेक्ट कर रहे हैं सहित सभी उपयोगकर्ताओं, हटाने ताकि आप एक कहां खंड जोड़ सकते हैं होगा।

+0

न हो, यह थोड़ा सा है। मैं इसे सभी * उपयोगकर्ताओं के लिए चाहता हूं, लेकिन सभी डेटाबेस में सभी उपयोगकर्ताओं के लिए नहीं! – mlissner

+0

यह सिर्फ "उपयोगकर्ता से हटाएं" होना चाहिए; -- जरूरत नहीं। – rrauenza

+1

'फ्लश प्राइवेटेज' की आवश्यकता नहीं है। केवल शुरुआती दिनों में (mysql 3.x), जब आपने सीधे तालिकाओं में हेरफेर किया था। –

0

मुझे लगता है कि आप कर सकते हैं:

REVOKE ALL PRIVILEGES FROM '%'@'%'; 
FLUSH PRIVILEGES; 

(सीधे MySQL तालिकाओं को संशोधित न करें)

+0

को "विशेषाधिकार विकल्प" की आवश्यकता है, कम से कम 5.5 के साथ सभी विशेषाधिकारों को रद्द करने के लिए – CrackerJack9

0
REVOKE ALL PRIVILEGES FROM '%'@'%'; 

ऊपर खतरनाक के रूप में मैं इसे से सभी विशेषाधिकारों को नष्ट करेगा लगता है हो सकता है सब जड़

सहित उपयोगकर्ताओं के लिए यह करने के लिए संशोधित करें:

REVOKE ALL PRIVILEGES FROM 'user'@'localhost'; 

या

REVOKE ALL PRIVILEGES FROM 'user'@'%'; 

से पहले निष्पादित

+1

को "अनुदान विकल्प" की आवश्यकता है, कम से कम 5.5 के साथ सभी विशेषाधिकारों को रद्द करने के लिए – CrackerJack9

+0

यह बहुत खतरनाक है और अनुशंसित नहीं है। – MontyPython

3
REVOKE ALL PRIVILEGES ON *.* FROM '<user_name>'@'localhost'; 
REVOKE ALL PRIVILEGES ON *.* FROM '<user_name>'@'%'; 

उदा .:

REVOKE ALL PRIVILEGES ON *.* FROM 'jeffrey'@'localhost'; 
REVOKE ALL PRIVILEGES ON *.* FROM 'jeffrey'@'%'; 
संबंधित मुद्दे