Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

विशिष्ट उपसर्ग के साथ कई तालिकाओं पर विशेषाधिकार प्रदान करें

अग्रिम नोट:यह मेरा उत्तर नहीं है। मैंने इसे http://lists.mysql.com/mysql/202610 पर पाया और सरलता के लिए स्टीफ़न कुक को कॉपी और पेस्ट किया है

आपके लिए GRANTस्टेटमेंट जेनरेट करने के लिए आप INFORMATION_SCHEMA.TABLES व्यू का उपयोग कर सकते हैं। इन पंक्तियों के साथ एक प्रश्न लिखें:

SELECT   CONCAT('GRANT SELECT ON test.', TABLE_NAME, ' to ''foouser'';')
FROM     INFORMATION_SCHEMA.TABLES
WHERE    TABLE_SCHEMA = 'test'
      AND TABLE_NAME LIKE 'foo_%'

फिर इसे चलाएँ, परिणामों की प्रतिलिपि बनाएँ, और उन परिणामों को एक क्वेरी या स्क्रिप्ट के रूप में चलाएँ। आप निश्चित रूप से इसके साथ जितना चाहें उतना पागल हो सकते हैं, उदाहरण के लिए यदि आप कई उपयोगकर्ताओं के लिए ऐसा करते हैं तो शायद एक संग्रहीत प्रक्रिया लिखें जो उपयोगकर्ता नाम के लिए पैरामीटर लेता है और इसलिए जब भी आपको इसकी आवश्यकता होती है तो इसे एक उपकरण के रूप में उपयोग किया जा सकता है।

यह कोई वाक्य रचना नहीं है जिसे आपने मांगा है, लेकिन यह एक अच्छी चाल है जो काम करती है।

--

तालिका स्कीमा 'परीक्षण' को अपने डेटाबेस के नाम से बदलें। foo_% को उपयुक्त उपसर्ग_% से बदला जा सकता है

मैंने इसे अपने दम पर आजमाया और इसने बहुत अच्छा काम किया।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. त्रुटि कोड 1292 - गलत डबल मान छोटा कर दिया - Mysql

  2. java.sql.SQLException:उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' के लिए प्रवेश निषेध (पासवर्ड का उपयोग करके:हाँ)

  3. PHP और MySQL डेटाबेस का उपयोग करके टू-डू सूची एप्लिकेशन

  4. मैं जावा का उपयोग कर mysql डेटाबेस में अरबी शब्द कैसे सम्मिलित कर सकता हूं?

  5. LAST_DAY () उदाहरण – MySQL