अस्वीकृत होने के कारण डेटाबेस बनाने में असमर्थ


10

मैंने सिर्फ एक सामान्य उपयोगकर्ता (विवेक) के रूप में उबंटू 12.04 में लॉग इन किया और डेटाबेस बनाने के लिए टर्मिनल खोला, मैंने लिखा:

create database Hello;

और मेरे पास जो त्रुटि थी:

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'vivek'

यदि मैं रूट उपयोगकर्ता के रूप में लॉगिन करता हूं, तो भी MySQL नहीं खुल रहा है और त्रुटि संदेश आ रहा है:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

अब क्या करे।


1
MySQL से कनेक्ट करने के लिए आपने किस कमांड का उपयोग किया?
पार्टो

मैंने सिर्फ MySQL से जुड़ने के लिए mysql लिखा
viveksinghggits

जवाबों:


12

मूल उपयोगकर्ता के रूप में MySQL में प्रवेश करने के लिए, आप इसका उपयोग कर सकते हैं:

mysql -u root -p

और फिर अपना MySQL पासवर्ड डालें।


किसी अन्य उपयोगकर्ता के रूप में लॉगिन करने के लिए, आपको पहले उस उपयोगकर्ता को बनाना होगा और उसे विशेषाधिकार प्रदान करने होंगे।

उपयोग करने वाला उपयोगकर्ता बनाएं - newuserइच्छित उपयोगकर्ता नाम और passwordअपनी पसंद के पासवर्ड में परिवर्तन करें ।

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

अफसोस की बात है, इस बिंदु पर newuserडेटाबेस के साथ कुछ भी करने की कोई अनुमति नहीं है।
इसलिए पहला चरण उपयोगकर्ता को 'चीजें' करने के लिए विशेषाधिकार प्रदान करना है।
सभी डेटाबेस और तालिकाओं पर सभी विशेषाधिकार (चयन करें, बनाएं, हटाएं, अपडेट करें, ड्रॉप करें आदि), चलाने के लिए:

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

किसी विशेष डेटाबेस और तालिका पर एक विशिष्ट विशेषाधिकार प्रदान करने के लिए, बस चलाएं:

GRANT [type of privilege] ON [database name].[table name] TO '[username]'@'localhost';

यदि आपको कभी किसी विशेष विशेषाधिकार को अस्वीकार या निरस्त करने की आवश्यकता है, तो बस चलाएं:

REVOKE [type of permission] ON [database name].[table name] FROM '[username]'@'localhost';

स्रोत: https://www.digitalocean.com/community/articles/how-to-create-a-new-user-and-grant-permissions-in-mysql


थैंक्स दोस्त ... इसने मेरी मदद की
विवेकीसिंघट

1

सेव मोड में mysql खोलें

sudo mysqld_safe --skip-grant-tables

===============================

रूट उपयोगकर्ता के रूप में mysql लॉगिन करें

mysql -u root

===============================

उस / a के लिए सभी PRIVILEGES प्रदान करें

GRANT ALL PRIVILEGES ON `%`.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

मुझे लगता है कि यह भी काम करेगा ...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.