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

1045, उपयोगकर्ता 'यूजरनेम'@'नॉट-लोकल' के लिए एक्सेस अस्वीकृत (पासवर्ड का उपयोग करके:हाँ)

सर्वर में लॉगिन दिखाएं (ध्यान दें कि % मतलब कोई भी होस्ट या वाइल्डकार्ड)

select user,host from mysql.user;

+-----------+------------+
| user      | host       |
+-----------+------------+
| ajax_guy  | %          |
| joe7      | %          |
| joe8      | %          |
+-----------+------------+

दिखाएँ कि एक निश्चित उपयोगकर्ता के लिए कौन से अनुदान मौजूद हैं।

show grants for 'ajax_guy'@'%';

+----------------------------------------------------------------------
| Grants for [email protected]%                                              
+----------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'ajax_guy'@'%' IDENTIFIED BY PASSWORD ...
| GRANT ALL PRIVILEGES ON `ajax_stuff`.* TO 'ajax_guy'@'%'           
| GRANT ALL PRIVILEGES ON `ajax_stuff`.`ajax_stuff` TO 'ajax_guy'@'%'
+----------------------------------------------------------------------

एक निश्चित लॉगिन के लिए एक निश्चित डीबी तक पहुंच कैसे प्रदान करें। नीचे हम उपयोगकर्ता को so_gibberish के सभी अधिकार प्रदान कर रहे हैं डेटाबेस

grant ALL on so_gibberish.* to 'ajax_guy'@'%';

प्रभावी अनुदान देखें अभी उस लॉगिन के लिए

+----------------------------------------------------------------------
| Grants for [email protected]%                                              
+----------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'ajax_guy'@'%' IDENTIFIED BY PASSWORD ...
| GRANT ALL PRIVILEGES ON `ajax_stuff`.* TO 'ajax_guy'@'%'           
| GRANT ALL PRIVILEGES ON `so_gibberish`.* TO 'ajax_guy'@'%'         
| GRANT ALL PRIVILEGES ON `ajax_stuff`.`ajax_stuff` TO 'ajax_guy'@'%'
+----------------------------------------------------------------------

एक नया लॉगिन बनाएं drew_saturday पासवर्ड के साथ friday987 .उसके पास डेटाबेस . पर सभी विशेषाधिकार हैं so_gibberish और किसी भी होस्ट से लॉगिन कर सकते हैं (% )

grant ALL on so_gibberish.* to 'drew_saturday'@'%' IDENTIFIED BY 'friday987';

select user,host,password from mysql.user where user='drew_saturday';

+---------------+------+-------------------------------------------+
| user          | host | password                                  |
+---------------+------+-------------------------------------------+
| drew_saturday | %    | *4600ED0F377308959665877BD327D4788DC2071F |
+---------------+------+-------------------------------------------+

वैसे ऊपर दिया गया पासवर्ड हैशेड पासवर्ड है।

नोट:MySQL 5.7 के लिए उपरोक्त आदेश होगा:

select user,host,authentication_string from mysql.user where user='drew_saturday';

अनुदान पर Mysql मैनुअल पेज . grant ALL on *. ... . यह सभी . के लिए होगा सिस्टम में डेटाबेस। बस मैनुअल पढ़ें और कम ज्यादा है।

कभी-कभी, व्यवस्थापक एक डेटाबेस में केवल मुट्ठी भर तालिकाओं तक पहुंच प्रदान करना चाहते हैं (इसमें सभी टेबल नहीं) एक लॉगिन के लिए। इस पर मैनुअल अवश्य पढ़ें।

और एक आखिरी बात। 'drew_saturday'@'%' 'drew_saturday'@'NOT-local' (आपके शीर्षक से उधार लेकर) से भिन्न लॉगिन है। वे अलग-अलग अधिकारों के साथ अलग-अलग लॉगिन हैं। मैंने वहां सबसे पहले यही लिखा था।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL अनेक से अनेक का चयन करें

  2. MySQL:एकाधिक टेबल या कई कॉलम वाली एक टेबल?

  3. सरणी इनपुट मान mysql में खाली रिकॉर्ड सम्मिलित करता है

  4. mysql CONCAT () नाम के रूप में?

  5. फेडोरा 20 पर MySQL रिलेशनल डेटाबेस का उपयोग करना