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

जब कोई पासवर्ड नहीं दिया जाता है तो MySQL रूट लॉगिन को कैसे निष्क्रिय करें?

MySQL/MariaDB (जैसे डेबियन स्ट्रेच, आदि) के नए संस्करणों में इस व्यवहार का सामना करने वाले उपयोगकर्ताओं को पता होना चाहिए कि mysql.user तालिका में, 'प्लगइन' नामक कॉलम है। यदि 'unix_socket' प्लगइन सक्षम है, तो रूट बिना पासवर्ड की आवश्यकता के कमांडलाइन के माध्यम से लॉग इन करने में सक्षम होगा। अन्य लॉग इन तंत्र अक्षम कर दिए जाएंगे।

यह जाँचने के लिए कि क्या ऐसा है:

SELECT host, user, password, plugin FROM mysql.user;

जिसे कुछ इस तरह वापस करना चाहिए (unix_socket सक्षम के साथ):

+-----------+------+--------------------------+-------------+
| host      | user | password                 | plugin      |
+-----------+------+--------------------------+-------------+
| localhost | root | <redacted_password_hash> | unix_socket |
+-----------+------+--------------------------+-------------+

इसे अक्षम करने के लिए और पासवर्ड का उपयोग करने के लिए रूट की आवश्यकता है:

UPDATE mysql.user SET plugin = '' WHERE user = 'root' AND host = 'localhost';
FLUSH PRIVILEGES;

नोट: जैसा कि MySQL के नए संस्करणों (जैसे 5.7.x) में @marioivangf (एक टिप्पणी में) द्वारा नोट किया गया है, आपको प्लगइन को 'mysql_native_password' (रिक्त के बजाय) पर सेट करने की आवश्यकता हो सकती है।

फिर पुनः आरंभ करें:

service mysql restart

समस्या ठीक हो गई!:

[email protected] ~# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

स्रोत:https://stackoverflow.com/a/44301734/3363571 @SakuraKinomoto को बहुत-बहुत धन्यवाद (यदि आपको यह उपयोगी लगे तो कृपया उनके उत्तर को वोट करें)।



  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. MySQL डेटाबेस में DECIMAL कैसे डालें

  3. असीमित लंबाई के लिए वर्चर कैसे सेट करें?

  4. PHP में हाइबरनेट के समान कुछ भी?

  5. ट्रिगर से बुलाए गए संग्रहीत कार्यविधियों में गतिशील कथनों के लिए समाधान