ERROR 1698 (28000): Ubuntu 18.04 पर उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' के लिए प्रवेश निषेध


22

मैंने MySQL को स्थापित करने के लिए इस ट्यूटोरियल का अनुसरण किया है लेकिन MySQL को सफलतापूर्वक स्थापित करने के बाद, मैं डेटाबेस तक नहीं पहुँच सका।

ERROR 1698 (28000): उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' के लिए प्रवेश निषेध


1
मैंने उसी मुद्दे का सामना किया, कुछ खुदाई के बाद, यह मिला कि यू को स्टैकऑवरफ्लो में आपके निर्देशों का पालन करते हुए रूट पासवर्ड सेट करना होगा ।
मोहम्मद.फैती

जवाबों:


46

मुझे यहां लिंक पर एक समाधान मिला , इस समाधान का पालन करके मैंने अपनी समस्या हल कर ली है।

लघु चरण हैं:

sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test'; 

नोट: यहां testरूट उपयोगकर्ता के लिए एक नया पासवर्ड है। इसके अलावा, sudo service mysql restartउपयोगकर्ता को बदलने के बाद कमांड चलाना याद रखें ।


धन्यवाद। यह अजीब है mysql- सर्वर अब पासवर्ड दर्ज करने के लिए प्रेरित नहीं करता है।
गामोफ

1
त्रुटि 1064 (42000): आपके SQL सिंटैक्स में कोई त्रुटि है; जाँच के मैनुअल है कि सही वाक्य रचना लाइन 1 में पास 'उपयोगकर्ता' जड़ '@' स्थानीय होस्ट b230mehonot '' 'द्वारा mysql_native_password के साथ की पहचान' का उपयोग करने के लिए अपने MariaDB सर्वर संस्करण से मेल खाती है
alhelal

यहाँ वही त्रुटि ...:
user1111929

@alhelal, समाधान MySQL के लिए है मारियाडीबी के लिए नहीं। तो आप एक और उपाय आजमा सकते हैं।
अशरफुज़्ज़मान सुजान

Mysql -u रूट को न लिखें, बस "sudo mysql" लिखें, उबंटू सिस्टम में MySQL 5.7 (और बाद में) चल रहा है, रूट उपयोगकर्ता को default_stcket प्लगइन के द्वारा प्रमाणीकृत किया गया है।
रवीसन

13

मुझे एक और तरीका मिला जो बहुत बेहतर है क्योंकि हमें स्थानीय प्रणाली के लिए कोई पासवर्ड देने की आवश्यकता नहीं है।
यह इस प्रकार है।

टर्मिनल खोलें और टाइप करें

sudo mysql -u root -p

यह आपको mysql में संकेत देगा, यहाँ आप किसी भी mysql कमांड को फायर कर सकते हैं।

परिवर्तन तालिका प्रकार के लिए mysql तालिका का उपयोग करें, इसलिए हम खाली पासवर्ड का उपयोग कर सकते हैं। बोलो इसके लिए कमांड है

USE mysql;

अब हम आदेश का पालन करके तालिका का प्रकार बदलते हैं

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

अब हमें विशेषाधिकारों को फ्लश करना होगा, क्योंकि हमने UPDATE का उपयोग किया है। यदि आप अनुदान तालिका में सीधे INSERT, UPDATE या DELETE का उपयोग करते हैं, तो आपको अनुदान तालिकाएँ पुनः लोड करने के लिए FLUSH PRIVILEGES का उपयोग करना होगा।

FLUSH PRIVILEGES;

अब आदेश का पालन करके mysql से बाहर निकलें

exit;

अब कमांड का पालन करके mysql सर्वर को पुनरारंभ करें

service mysql restart

आशा है कि यह मदद कर सकता है

धन्यवाद।


2
यह सही उत्तर है
निंगप्पा

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