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

समस्या पैदा करने वाले अतिरिक्त MySQL डेटाबेस को अधिकार प्रदान करना

MySQL उपयोगकर्ता नाम और होस्ट दोनों द्वारा उपयोगकर्ता की पहचान करता है। जब MySQL लॉगिन पर प्रमाणीकरण करता है, तो MySQL पहले एक ऐसे होस्टनाम की तलाश करता है जो एक सटीक मिलान हो। यदि उसे सटीक मिलान नहीं मिलता है, तो वह '%' वाइल्डकार्ड वाले होस्ट की तलाश करता है।

जब आपने GRANT ... TO [email protected] , MySQL ने एक नया उपयोगकर्ता बनाया (बिना पासवर्ड के, क्योंकि कोई IDENTIFIED BY नहीं था। बयान में दिया गया है।

फिर क्या हुआ, जब आपने myuser . के रूप में लॉगिन करने का प्रयास किया लोकलहोस्ट से, mysqld ने 'myuser'@'localhost' से मेल खाने वाली प्रविष्टि खोजने की कोशिश की mysql.user तालिका में और इसे मिला। और सत्र को उस उपयोगकर्ता को सौंपे गए विशेषाधिकार मिल गए।

(थोड़ा और सटीक होने के लिए, mysqld वास्तव में mysql.user तालिका की सामग्री को नहीं देखता है, यह वास्तव में इन-मेमोरी संरचना को क्या देखता है, जिसे तालिका से बनाया गया था जब इसे बनाया गया था। का पुनर्निर्माण मेमोरी स्ट्रक्चर को GRANT, REVOKE या FLUSH PRIVILEGES स्टेटमेंट द्वारा ट्रिगर किया जाता है।)

आपके द्वारा उस नए उपयोगकर्ता को जोड़ने से पहले क्या हो रहा था, mysqld उपयोगकर्ता और होस्टनाम पर सटीक मिलान की तलाश में था, और उसे कोई नहीं मिला। लेकिन इसे '%' वाइल्डकार्ड के साथ एक प्रविष्टि मिली, इसलिए यह उससे मेल खाता था, इसलिए सत्र को 'myuser'@'%' उपयोगकर्ता को सभी विशेषाधिकार दिए गए।

दो उपयोगकर्ता 'u'@'%' और 'u'@'localhost' एक दूसरे से अलग और अलग हैं। प्रत्येक उपयोगकर्ता को व्यक्तिगत रूप से विशेषाधिकार दिए जाने चाहिए। 'u'@'%' . को दिया गया कोई भी विशेषाधिकार केवल उस उपयोगकर्ता पर लागू करें न कि 'u'@'localhost' . पर लागू करें .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. किसी विशेष तिथि के साथ रिकॉर्ड का चयन करने के लिए MySQL क्वेरी

  2. मुख्य क्वेरी और उप प्रश्नों का उपयोग करके स्थिति के बीच का उपयोग कैसे करें

  3. एक समय श्रृंखला में विशेष मानदंडों को पूरा करने वाली लगातार वस्तुओं का पता लगाएं

  4. चैट ऐप में स्टोरेज दक्षता के लिए फाइल बनाम डेटाबेस

  5. django के साथ बाहरी डेटाबेस से टेम्पलेट में डेटा खींचना