स्थापित करते समय mysql रूट पासवर्ड नहीं मांगता है


54

मैं apt install mysql-serverUbuntu 16.04 पर MySQL स्थापित करता था, लेकिन स्थापना के दौरान, यह रूट पासवर्ड नहीं मांगता था।

स्थापना के बाद मुझे मिला ERROR 1045जब मैंने लॉगिन करने की कोशिश की rootऔर mysql_secure_installationउसी त्रुटि को फेंक दिया। मैंने purged और autoremoved को फिर से इनस्टॉल किया लेकिन यह काम नहीं करता है।

मैं इसे कैसे ठीक कर सकता हूं? अगर मैंने इसे इंस्टालेशन के दौरान सेट नहीं किया तो क्या मैं रूट पासवर्ड सेट कर सकता हूँ?

यह मेरी स्थापना लॉग है:

निम्नलिखित अतिरिक्त पैकेज स्थापित किए जाएंगे:
  libaio1 mysql-client-5.7 mysql-client-core-5.7 mysql-server-5.7
  mysql सर्वर कोर-5.7
सुझाए गए पैकेज:
  mailx tinyca
निम्नलिखित नए पैकेज स्थापित किए जाएंगे:
  libaio1 mysql-client-5.7 mysql-client-core-5.7 mysql- सर्वर mysql-server-5.7
  mysql सर्वर कोर-5.7
0 अपग्रेड किया गया, 6 नव स्थापित, 0 हटाने के लिए और 0 अपग्रेड नहीं किया गया।
अभिलेखागार के 0 बी / 17,9 एमबी प्राप्त करने की आवश्यकता है।
इस ऑपरेशन के बाद, 160 एमबी अतिरिक्त डिस्क स्थान का उपयोग किया जाएगा।
क्या आप जारी रखना चाहते हैं? [य / न] य
Preconfiguring संकुल ...
पहले से अनदेखा पैकेज libaio1 का चयन करना: amd64।
(डेटाबेस पढ़ना ... वर्तमान में स्थापित 227144 फाइलें और निर्देशिकाएं।)
अनपैक करने की तैयारी ... / libaio1_0.3.110-2_amd64.deb ...
अनपैकिंग लिबियो 1: एमड 64 (0.3.110-2) ...
पहले से अचयनित पैकेज mysql-client-core-5.7 का चयन करना।
अनपैक करने की तैयारी ... / mysql-client-core-5.7_5.7.12-0ubuntu1_amd64.dk ...
Mysql-client-core-5.7 (5.7.12-0ubuntu1) को अनपैक करना ...
पहले से अचयनित पैकेज mysql-client-5.7 का चयन करना।
अनपैक करने की तैयारी ... / mysql-client-5.7_5.7.12-0ubuntu1_amd64.deb ...
Mysql-client-5.7 (5.7.12-0ubuntu1) को अनपैक करना ...
पहले से अनदेखा पैकेज mysql-server-core-5.7 का चयन करना।
अनपैक करने की तैयारी ... / mysql-server-core-5.7_5.7.12-0ubuntu1_amd64.dk ...
Mysql-server-core-5.7 (5.7.12-0ubuntu1) को अनपैक करना ...
पहले से अनदेखा पैकेज mysql-server-5.7 का चयन करना।
अनपैक करने की तैयारी कर रहा है ... / mysql-server-5.7_5.7.12-0ubuntu1_amd64.deb ...
Mysql-server-5.7 (5.7.12-0ubuntu1) को अनपैक करना ...
पहले से अनदेखा पैकेज mysql-server का चयन करना।
अनपैक करने की तैयारी ... / mysql-server_5.7.12-0ubuntu1_all.deb ...
Mysql-server (5.7.12-0ubuntu1) को अनपैक करना ...
Libc-bin (2.23-0ubuntu3) के लिए प्रोसेसिंग ट्रिगर ...
मैन-डीबी (2.7.5-1) के लिए प्रसंस्करण ट्रिगर ...
Systemd (229-4ubuntu4) के लिए प्रसंस्करण ट्रिगर ...
Ureadahead (0.100.0-19) के लिए प्रोसेसिंग ट्रिगर ...
लाइबियो 1 की स्थापना: amd64 (0.3.110-2) ...
Mysql-client-core-5.7 (5.7.12-0ubuntu1) की स्थापना ...
Mysql-client-5.7 (5.7.12-0ubuntu1) की स्थापना ...
Mysql-server-core-5.7 (5.7.12-0ubuntu1) की स्थापना ...
Mysql-server-5.7 (5.7.12-0ubuntu1) की स्थापना ...
अद्यतन-विकल्प: ऑटो मोड में /etc/mysql/my.cnf (my.cnf) प्रदान करने के लिए /etc/mysql/mysql.cnf का उपयोग करना
अगर अद्यतन की आवश्यकता है, तो जाँच करना।
यदि आप अभी भी mysql_upgrade को चलाने की आवश्यकता है, तो MySQL की यह स्थापना पहले से ही 5.7.12 में अपग्रेड हो गई है, इसका उपयोग करें
Mysql-server (5.7.12-0ubuntu1) की स्थापना ...
Libc-bin (2.23-0ubuntu3) के लिए प्रोसेसिंग ट्रिगर ...

जवाबों:


60

आप अनुदान-तालिकाओं को लोड किए बिना mysql शुरू करके वर्तमान को जाने बिना रूट पासवर्ड को पुनर्प्राप्त या सेट कर सकते हैं।

कृपया $कमांड में ध्यान दें । यह कमांड में टाइप करते समय आपके द्वारा देखे जाने वाले टर्मिनल प्रॉम्प्ट को निर्दिष्ट कर रहा है। यह दिखा रहा है कि यह पाठ की एक पंक्ति है, लेकिन वास्तविक टाइप टर्मिनल कमांड। " mysql>" उपसर्ग भी एक संकेत है। यही वह संकेत है जो आपको mysql को पारस्परिक रूप से चलाते समय मिलता है ।

ऐसा करने के लिए यह cli (कमांड लाइन) है:
( चरणों को पूरा करने से पहले वर्तमान सर्वर को बंद करना सुनिश्चित करें। केवल एक सर्वर एक समय में चल सकता है।)

$ sudo mkdir /var/run/mysqld; sudo chown mysql /var/run/mysqld
$ sudo mysqld_safe --skip-grant-tables&

अब आप पासवर्ड के बिना रूट के रूप में लॉग इन कर सकते हैं और सभी कमांड कर सकते हैं, जैसा कि इस मामले में, रूट पासवर्ड को रूट के रूप में सेट करें।

$ sudo mysql --user=root mysql

यह सेट रूट पासवर्ड है जिसे आप MySQL 5.6 के अंदर या उससे नीचे करेंगे।

mysql> update user set Password=PASSWORD('new-password') where user='root';
flush privileges;

MySQL 5.7 या इसके बाद के संस्करण में

mysql> update user set authentication_string=PASSWORD('new-password') where user='root';
flush privileges;

वहाँ से, छोड़ (चल रहे msqld को मार) mysql और इसे सामान्य रूप से शुरू करें।

Mysql सेवा को शुरू करने और रोकने पर नोट्स:

बंद करो mysql:

$ sudo service mysql stop

Mysql (सामान्य) शुरू करें:

$ sudo service mysql start

अस्थायी mysql सुरक्षित मोड सत्र को मारें:

$ sudo mysqladmin shutdown

11
mysql 5.7.12 में उपयोगकर्ता तालिका में पासवर्ड नाम का कोई कॉलम नहीं है। इसलिए निम्नलिखित कमांड ने मेरे लिए काम किया। अद्यतन उपयोगकर्ता सेट प्रमाणीकरण_स्ट्रिंग = पासवर्ड ('नया-पासवर्ड') जहां उपयोगकर्ता = 'रूट';
19

7
मैं अभी भी मिल रहा हूँERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
लामेरर

@ ErelSegal-Halevi दो चीजें हैं जो आपको करनी चाहिए। भागो $ mysql_upgrade -u root -p। आरपी सिंह द्वारा दी गई ऊपर की कमांड को भी देखें।
LD जेम्स

मुझे अभी भी यह त्रुटि मिल रही है।
बजे जेमी हटबर

SET PASSWORD FOR 'root' = PASSWORD('your-password')अगर आप mariadb का उपयोग कर रहे हैं
user1036719

37

यह mysqlUbuntu 16.04 में स्थापित करते समय पासवर्ड नहीं मांगेगा, लेकिन आप इसे निम्न तरीके से सफल स्थापना के बाद सेट कर सकते हैं:

Mysql स्थापना के पूरा होने के बाद, कमांड चलाएँ:

sudo mysql_secure_installation

यह दिखाएगा:

नोट: इस SCRIPT के सभी भागों के उत्पादन में सभी MariaDB सर्वर के लिए सिफारिश की है! कृपया हर जगह पढ़ें!

इसे सुरक्षित करने के लिए MariaDB में लॉग इन करने के लिए, हमें रूट उपयोगकर्ता के लिए वर्तमान पासवर्ड की आवश्यकता होगी। यदि आपने अभी-अभी MariaDB स्थापित किया है, और आपने रूट पासवर्ड अभी तक सेट नहीं किया है, तो पासवर्ड रिक्त हो जाएगा, इसलिए आपको बस यहाँ एंटर करना होगा।

Enter current password for root (enter for none): (यहां एंटर दबाएं)

ठीक है, सफलतापूर्वक पासवर्ड का उपयोग किया जा रहा है ...

रूट पासवर्ड सेट करना यह सुनिश्चित करता है कि कोई भी उचित प्राधिकरण के बिना MariaDB रूट उपयोगकर्ता में प्रवेश नहीं कर सकता है।

Set root password? [Y/n] y   (press 'y' to set new password)
New password: 
Re-enter new password:

पासवर्ड सफलतापूर्वक अपडेट किया गया! विशेषाधिकार प्राप्त तालिकाओं को पुनः लोड करना ... सफलता!


उबंटू 18.04 या mysql-serverसंस्करण 5.7.22 के लिए, इस विधि को काम नहीं करेगा

उबंटू 18.04 में रूट पासवर्ड सेट करने के लिए, पहले पहले तीन आदेशों का पालन करें या फिर एलडी जेम्स के उत्तर के पहले दो चरणों को चलाएं,

mysql> alter user 'root'@'localhost' identified by '<password>';

रूट यूजर के लिए पासवर्ड सेट है!

या

18.04 में रूट पासवर्ड सेट करने के लिए इन चरणों का पालन करें:

जैसे रूट यूजर के लिए कोई पासवर्ड सेट नहीं है, बस खाली पासवर्ड के साथ लॉगिन करें

sudo mysql -u root -p
Enter password: (press enter as no password is set)

इसके बाद आसानी से क्वेरी चला सकते हैं

ALTER USER 'root'@'localhost' IDENTIFIED BY '<password>';

2
इस प्रश्न के मामले में समस्या यह है कि उपयोगकर्ता को आपके द्वारा उल्लिखित संकेतों के लिए नहीं मिल सकता है क्योंकि वह नहीं जानता है current password for root
एलडी जेम्स

@LDJames हाँ, तुम सही हो। मुझे ERROR के बारे में याद नहीं है: 1405 जब मैं दौड़ता था mysql_secure_installationलेकिन sudo mysql_secure_installationमेरे लिए काम करता था। mysql इंस्टॉलेशन पासवर्ड नहीं मांगता है। मेरे साथ भी ऐसा ही हुआ। और here press enterइसका मतलब है बिना पासवर्ड के एंटर दबाएं।
डेज़ी

2
जैसा कि ubuntu 18.04 या डेबियन 9+ के
कंसर्टर्स

@chefarov एक ही मुद्दे का सामना करते हुए, तीव्रता से निराशा होती है
RedactedProfile

वास्तव में, मुझे अभी भी वही त्रुटि मिलती है
जेमी हटबर

16

जाहिरा तौर पर 16.04 (या किसी भी 5.7 स्थापना?) पर mysql- सर्वर इंस्टॉलेशन पासवर्ड के माध्यम से रूट एक्सेस की अनुमति नहीं देता है, लेकिन इसेभी_तोसेट प्लगइन के माध्यम से दिया जाता है । रनिंग sudo mysql -u root(nb w / oa पासवर्ड) आपको mysql कंसोल देगा जबकि कमांड को नॉन-रूट के रूप में चलाना आपको पासवर्ड के लिए संकेत देता है।

ऐसा लगता है कि पासवर्ड को बदलने से बहुत फर्क नहीं पड़ता क्योंकि जब तक कोई दूसरा बैकएंड पासवर्ड की जांच नहीं करता है। प्लगइन को बदलने और पासवर्ड प्रमाणीकरण पर स्विच करने का एक बहुत व्यापक लेख है ।


4
मैं apt install mysql-server18.04 पर पासवर्ड निर्दिष्ट किए बिना एक नई स्थापना के साथ पुष्टि करने में सक्षम था । लक्षण और समाधान बिल्कुल वर्णित है।
एरिका

तो मैं कैसे कनेक्ट करूं?
जेमी हटबर

9

स्थापना के बाद बस:

1।

sudo mysql

(हां, नो यूजर नो पास)

2. अब आप mysql कंसोल में हैं:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my_new_pass';

3।

FLUSH PRIVILEGES;

  1. बस। अब आप अगली बार हमेशा की तरह कंसोल में प्रवेश कर सकते हैं:

    mysql -u रूट -p my_new_pass


3
मैंने कई अन्य उत्तरों की कोशिश की, लेकिन इसने अमेज़ॅन ईसी 2 पर काम किया
हारिस उर रहमान

2
यह WSL Ubuntu (विंडोज पर लिनक्स) के लिए सही उत्तर था।
फेर गार्सिया

2
यह एकमात्र उत्तर है जिसने मेरे लिए ubuntu 18.04 पर Google क्लाउड पर नई स्थापना के लिए काम किया।
आकाश

1
मेरे लिए Ubuntu 19.04 पर काम किया। मैंने mysql_secure_myinstallation चलाया, लेकिन ऐसा लगता था कि रूट पासवर्ड सेट नहीं था।
जेन्स वेजमेकर

1
मैंने दर्जनों उपाय आजमाए। यह सबसे आसान और एकमात्र काम था।
mreff555

4
  1. एक डिफ़ॉल्ट उपयोगकर्ता खाता है।

    $ vim /etc/mysql/debian.cnf 
    

    आपको यह खाता इस तरह से मिलेगा:

    user     = debian-sys-maint
    password = nUZTARYslBsASzpw
    
  2. आप इस खाते से लॉगिन करें

    $ mysql -u debian-sys-maint -p
    
  3. आपको रूट पासवर्ड संपादित करें

    mysql> show databases;
    
    mysql> use mysql;
    
    mysql> update user set authentication_string=PASSWORD("new_password") where user='root';
    
    mysql> update user set plugin="mysql_native_password";
    
    mysql> flush privileges;
    
    mysql> quit;
    
  4. mysql को पुनरारंभ करें

    $ /etc/init.d/mysql restart;
    

तो आप mysql -u root -pपिछले सेटिंग के साथ कर सकते हैं ।


मैंने हर दूसरे समाधान की कोशिश की, और यह एकमात्र ऐसा है जिसने मेरे लिए काम किया। (लिनक्स मिंट 19.2)।
इलेक्ट्रोबुधा

0

मुख्य उत्तर में जोड़ना, यदि आप पर अटक गए हैं

" mysqld_safe डेटाबेस से mysqld डेमन शुरू / var / lib / mysql "

1 बात याद रखें कि आपको निम्न कमांड दर्ज करने के लिए एक और टर्मिनल विंडो का उपयोग करना होगा।

$ sudo mysql --user=root mysql

यदि आप इसे एक ही विंडो में करने का प्रयास करते हैं, तो यह mysqld safemode प्रक्रिया को बंद कर देगा।


-1

यहां टर्मिनल पासवर्ड प्रॉम्प्ट केmysql-server साथ सेटअप करने का तरीका बताया गया है Ubuntu 18.10 में ।

  1. डाउनलोड MySQL APT रिपोजिटरी के माध्यम से Https://dev.mysql.com/downloads/repo/apt/ के करें
  2. cd अपनी निर्देशिका में जहां आपने डाउनलोड किया और चलाया dpkg -i mysql-apt-config_0.8.13-1_all.deb (अपना संस्करण क्रमांक देखें)
  3. प्रॉम्प्ट मेनू से अंतिम विकल्प "ओके" और फिर "ओके" फिर से चुनें।

  4. Mysql-server और mysql- क्लाइंट को अपडेट और इंस्टॉल करें:

sudo उपयुक्त अद्यतन
sudo apt install mysql-server mysql-client
  1. प्रोम में अपना रूट पासवर्ड टाइप करें।
  2. चुनें "Use Legacy Authentication Method"कि क्या आपके रनिंग फ्रेमवर्क / एप्लिकेशन (जैसे लार्वा) जो "Strong Password Encryption"अभी तक नए का समर्थन नहीं करते हैं , अन्यथा यदि आपका फ्रेमवर्क / एप्लिकेशन समर्थन करता है "Strong Password Encryption"तो इसे चुनें।
  3. रूट के रूप में लॉगिन करें और जांचें कि क्या यह काम करता है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.