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

मैं MySQL 5.7 पर डिफ़ॉल्ट 'रूट' उपयोगकर्ता व्यवहार को कैसे रीसेट कर सकता हूं?

समस्या:

auth_socket मॉड्यूल को root . पर मैन्युअल रूप से स्थापित और सक्षम करने की आवश्यकता है उपयोगकर्ता यदि आप अपने पुराने MySQL 5.5 . आयात करके 5.7 से अधिक परिवर्तन लिखते हैं डेटाबेस और उपयोगकर्ता तालिका।

समाधान:

उपयोगकर्ताओं के लिए हम अभी भी mysql_native_password . का उपयोग करना चाहते हैं , डिफ़ॉल्ट। root . के लिए , हम auth_socket . का उपयोग करना चाहते हैं ।

install plugin auth_socket soname 'auth_socket.so';
use mysql; update user set plugin='mysql_native_password';
update mysql.user set plugin = 'auth_socket' where User='root';
flush privileges;

यदि आप इसे गलत क्रम में करते हैं (root . जोड़ें) का auth_socket कॉलम) प्लगइन स्थापित करने से पहले), तो आप MySQL लोड करने में असमर्थ होंगे क्योंकि प्लगइन प्रमाणीकरण नहीं करेगा। mysql को सेफ मोड में शुरू करने और चलाने के लिए इसका इस्तेमाल करें:

sudo service mysql stop
sudo mysqld_safe --skip-grant-table &
sudo mysql -u root -p -h localhost

MySQL 5.5 . से एक पूर्ण डेटाबेस और उपयोगकर्ता तालिका आयात करते समय ये सुधार किए गए थे करने के लिए MySQL 5.7 , Ubuntu 14.04 . से माइग्रेट करना से Ubuntu 16.04

उपकरण:

प्लगइन्स देखें:show plugins \g

रूट उपयोगकर्ता पर auth_socket दिखाएं:select auth_socket from mysql.user where user='root';




  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. PostgreSQL इंडेक्स बनाम InnoDB इंडेक्स - अंतर को समझना

  3. MySQL एक स्वत:वृद्धि हुई पंक्ति में बदलें

  4. SQL के साथ कई फ़ील्ड को एक में जोड़ें

  5. Mysqli तैयार स्टेटमेंट डेटाबेस में इमेज इंसर्ट को तोड़ता है