यह सामान्य है, अगर "mysql -u root -p
के माध्यम से DB को एक्सेस करना कह कर ठीक काम करता है" आपका मतलब है कि आप इसे सिस्टम रूट होने के दौरान चला रहे हैं (या sudo
. के तहत) ) आप इसे एक सामान्य उपयोगकर्ता के रूप में करने में सक्षम नहीं होना चाहिए।
डिफ़ॉल्ट रूप से उबंटू द्वारा उत्पन्न पैकेज में unix_socket होता है। स्थानीय रूट के लिए प्रमाणीकरण। जाँच करने के लिए, दौड़ें
SELECT user, host, plugin FROM mysql.user;
आपको देखना चाहिए unix_socket
plugin
. में [email protected]
।
यदि आप इसके बजाय पासवर्ड प्रमाणीकरण का उपयोग करना चाहते हैं, तो चलाएं
UPDATE mysql.user SET plugin = '' WHERE plugin = 'unix_socket';
FLUSH PRIVILEGES;