sudo

2016-05-15 6 views
8

आदेश के बिना कनेक्ट mysql सर्वर से:sudo

ERROR 1698 (28000): Access denied for user 'root'@'localhost' 

लेकिन sudo विशेषाधिकार चल रहा है, काम करता है::

sudo mysql -u root -p 

इसे पाने के लिए संभव है

mysql -u root -p 

त्रुटि देता है सूडो आवश्यकता से छुटकारा क्योंकि यह मुझे intellij में डेटाबेस खोलने से रोकता है?

sudo chmod -R 755 /var/lib/mysql/ 

जो मदद नहीं की: मैं इस सवाल का जवाब Connect to local MySQL server without sudo में के रूप में निम्नलिखित की कोशिश की। ऊपर सवाल कोई दूसरी त्रुटि

+0

संभावित डुप्लिकेट (http://stackoverflow.com/questions/24479868/connect-to-local-mysql-server-without-sudo) –

+0

मैंने उल्लेख किया है कि यह काम नहीं करता –

उत्तर

15

केवल जड़ के बिना:

लॉग इन आपकी डीबी में

sudo mysql -u root -p 

तो इन संशोधन करने उपयोगकर्ता को mysql में लॉगिन करने के लिए सुडो आवश्यकता की आवश्यकता है। sudo के साथ अपने mysql के लिए

mysql -u newuser 
0

दिया है सवाल का जवाब आप संदर्भित की टिप्पणी में, इसे पढ़ता

Ok, just try to analyze all of the directories down in the path of the socket file, they need to have o+rx and the sock file too (it's not a good idea to make it modifiable by others).

You can also try to remove mysql.sock and then restart mysqld, the file should be created by the daemon with proper privileges.

यह (एक आप ने कहा आप को देखा) this question के लिए काम करने के लिए लग रहा था, तो यह हो सकता है आपके लिए काम के साथ-साथ

+0

मैं यह कैसे कर सकता हूं? मेरे द्वारा संदर्भित प्रश्न में –

+0

फेंकने वाली एक अलग त्रुटि है, जो डाउनवोट करने का कोई कारण नहीं है !! : /etc/mysql/my.cnf फ़ाइल में एक नज़र डालें और इसे डायल करें: # प्लगइन-लोड-एड = auth_socket.so और डेटाबेस को पुनरारंभ करें, या पासवर्ड के बिना mysql को शुरू करने के तरीके को पढ़ें https: //www.liberiangeek। नेट/2014/10/रीसेट-रूट-पासवर्ड-मारियाडब-सेंटोस -7/ –

-3

त्रुटि संदेश:

"त्रुटि 1698 (28000): पहुँच उपयोगकर्ता 'जड़' के लिए @ 'स्थानीय होस्ट' अस्वीकृत"

का अर्थ है कि सर्वर इस उपयोगकर्ता के लिए कनेक्ट की अनुमति नहीं देता है और यह नहीं कि mysql सॉकेट तक नहीं पहुंच सकता है।

समस्या को हल करने के लिए इस प्रयास करें:

MariaDB []>use mysql; 
MariaDB [mysql]>update user set plugin=' ' where User='root'; 
MariaDB [mysql]>flush privileges; 
MariaDB [mysql]>exit 

कोशिश प्रवेश को पुनः sudo

+1

मैंने कोशिश की और अब मैं सूडो के साथ भी लॉगिन नहीं कर सकता। शायद mysql को पुनर्स्थापित करना पड़ सकता है :( –

+0

नीचे वोट क्योंकि एवर "खतरनाक रूप से गलत है।" Http://stackoverflow.com/help/privileges/vote-down में। @ बर्ड बफ़ेन ने आपको बदला लेने के रूप में वोट दिया है। –

+0

वहां है अनुपस्थिति से कुछ भी खतरा नहीं है, क्योंकि आप सबकुछ वापस कर सकते हैं। मुझे लगता है कि यह किसी खतरे में लगता है कि माउस –

4

पहले प्रवेश:

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

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

अब newuser sudo आवश्यकता के बिना प्रवेश कर सकते हैं: मैं एक नया उपयोगकर्ता के लिए आवश्यक डेटाबेस तक पहुंच बनाने और प्रदान करके इस संकल्प लिया।

फिर रूट उपयोगकर्ता के लिए "unix_socket" से "mysql_native_password" में "प्लगइन" coloumn मान बदलने के लिए इस कोड का उपयोग करें।

UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket'; 

FLUSH PRIVILEGES; 

अंततः mysql सेवा को पुनरारंभ करें। बस।

यदि आप अधिक जानकारी चाहते हैं, this लिंक

+0

प्लगइन मान मेरे मामले में 'auth_socket' था। – Zubin

0

आप कलन विधि को बदलने की जरूरत की जाँच करें।मेरे लिए काम करते हैं, के बाद

mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ''; 
mysql > FLUSH PRIVILEGES; 
[बिना sudo स्थानीय MySQL सर्वर से कनेक्ट करें] की
संबंधित मुद्दे