ServerPilot आपके सर्वर पर डेटाबेस प्रबंधित करने के लिए MySQL को कॉन्फ़िगर करता है। आमतौर पर, जब SSH में रूट . के रूप में लॉग इन किया जाता है उपयोगकर्ता, आपको केवल MySQL तक पहुँचने के लिए कमांड लाइन (SSH) प्रॉम्प्ट पर निम्नलिखित टाइप करने की आवश्यकता होगी:
mysql
यह आदेश स्वचालित रूप से उस फ़ाइल को संदर्भित करेगा जिसमें MySQL root . है उपयोगकर्ता का MySQL पासवर्ड ताकि आपको इसे टाइप न करना पड़े। MySQL के लिए रूट पासवर्ड इस फ़ाइल में निहित है:
/root/.my.cnf
अगर आपको किसी भी कारण से उस पासवर्ड को बदलने की जरूरत है, तो कुछ कदम उठाए जाने की जरूरत है। कृपया ध्यान दें कि यहां दो अलग-अलग प्रक्रियाएं हैं:एक ऐसी स्थिति के लिए जिसमें रूट MySQL पासवर्ड वर्तमान में काम कर रहा है, और एक गैर-कार्यशील रूट MySQL पासवर्ड के लिए।
नोट:MySQL त्रुटि लॉग MySQL के साथ समस्याओं को खोजने के लिए एक अच्छी जगह है, और यहाँ स्थित है:
/var/log/mysql/error.logचेतावनी! हम इस तरह के कार्यों को करने से पहले एक सर्वर स्नैपशॉट लेने की सलाह देते हैं।
कार्यशील MySQL रूट पासवर्ड बदलना
इस अनुभाग में एक MySQL रूट पासवर्ड बदलना शामिल है जो काम कर रहा है, जिसका अर्थ है कि आप MySQL में रूट के रूप में लॉग इन कर सकते हैं उपयोगकर्ता केवल mysql . टाइप करके SSH प्रॉम्प्ट पर। यदि इन चरणों का पालन किया जाता है तो इस प्रक्रिया के लिए कोई डाउनटाइम नहीं होगा।
SSH में रूट . के रूप में लॉग इन करें उपयोगकर्ता, फिर टाइप करके MySQL में लॉग इन करें:
mysql
MySQL प्रॉम्प्ट पर, निम्न टाइप करें, लेकिन put-your-new-password-here को बदलें। वास्तविक पासवर्ड के साथ जिसका आप उपयोग करना चाहते हैं। आपको नए पासवर्ड के आसपास सिंगल कोट्स छोड़ने की जरूरत है। कृपया पासवर्ड को नोट कर लें, क्योंकि अगले चरण में आपको इसे एक फाइल में रखना होगा।
SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');
टाइप करके MySQL से बाहर निकलें:
quit
इसके बाद, आपको उस फ़ाइल को अपडेट करना होगा जिसमें MySQL root . है उपयोगकर्ता का पासवर्ड ताकि आप अपने सर्वर में रूट . के रूप में SSH कर सकें और mysql . चलाएँ पासवर्ड टाइप किए बिना कमांड करें।
sudo nano /root/.my.cnfनैनो . का उपयोग करने के बारे में अतिरिक्त जानकारी के लिए पाठ संपादक, कृपया हमारी मार्गदर्शिका देखें।
पासवर्ड फ़ील्ड को आपके द्वारा ऊपर दर्ज किए गए नए पासवर्ड में अपडेट करें, टेक्स्ट एडिटर को सहेजें और बाहर निकलें।
अंत में, यह सुनिश्चित करने के लिए परीक्षण करें कि नया पासवर्ड काम करता है:
mysql
पूरी तरह तैयार!
खोया हुआ या काम नहीं कर रहा MySQL रूट पासवर्ड बदलना
यह खंड इस त्रुटि को प्राप्त करते समय MySQL तक रूट पहुंच प्राप्त करना शामिल करता है:
ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)चेतावनी! यह प्रक्रिया थोड़े समय के लिए MySQL को ऑफ़लाइन ले जाएगी; इसे ऑफ-पीक घंटों के दौरान करना सबसे अच्छा है, जब आपके उपयोगकर्ता कम से कम प्रभावित होंगे।
SSH के माध्यम से अपने सर्वर में रूट . के रूप में लॉग इन करें उपयोगकर्ता, और टाइप करके MySQL को रोकें:
sudo service mysql stop
फिर निम्न कमांड चलाएँ:
sudo test ! -e /var/run/mysqld && sudo mkdir -p /var/run/mysqld && sudo chown mysql:mysql /var/run/mysqld
यह कोई आउटपुट नहीं लौटाएगा। इसे टाइप करके MySQL को एक विशेष मोड में प्रारंभ करें:
sudo mysqld --skip-grant-tables --skip-networking &
इसका आउटपुट नीचे जैसा होना चाहिए, हालांकि प्रदर्शित संख्या अलग होगी:
sudo mysqld --skip-grant-tables --skip-networking & [1] 14744
फिर आपको मानक SSH प्रॉम्प्ट पर लौटा दिया जाएगा। अब, MySQL में लॉग इन करने के लिए निम्न टाइप करें:
mysql
आपको पासवर्ड के लिए संकेत नहीं दिया जाएगा, और यह कुछ इस तरह दिखना चाहिए:
~# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.25-0ubuntu0.16.04.2-log (Ubuntu) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective Owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
निम्न आदेश जारी करें जो आपको पासवर्ड बदलने की अनुमति देगा:
FLUSH PRIVILEGES;
कौन सी पैदावार:
Query OK, 0 rows affected (0.00 sec)
इसके बाद, हम put-your-new-password-here . को बदलकर वास्तविक पासवर्ड रीसेट करते हैं अपने वास्तविक पासवर्ड के लिए। कृपया आपके द्वारा सेट किए गए पासवर्ड को नोट कर लें, क्योंकि हमें इसे /root/.my.cnf में दर्ज करना होगा। जब हमारा काम हो जाए तो फाइल करें, और कृपया नए पासवर्ड के आसपास सिंगल कोट्स भी बनाए रखें।
SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');
आपको एक सूचना प्राप्त होनी चाहिए जैसे:
Query OK, 0 rows affected, 1 warning (0.00 sec)
टाइप करके MySQL से बाहर निकलें:
quit
इसके बाद, निम्न कमांड टाइप करें:
sudo killall mysqld
कोई आउटपुट वापस नहीं किया जाएगा। अब, हम सामान्य रूप से MySQL प्रारंभ करते हैं:
sudo service mysql start
अंत में, यदि आपने पासवर्ड को /root/.my.cnf से दूर बदल दिया है , आपको उस फ़ाइल को अपडेट करना होगा। यदि आपने समान मान का उपयोग किया है, तो आपको यह चरण करने की आवश्यकता नहीं है:
sudo nano /root/.my.cnf
वहां पासवर्ड फ़ील्ड अपडेट करें, फिर टेक्स्ट एडिटर को सहेजें और बाहर निकलें।
अब आपको रूट . के रूप में MySQL में सफलतापूर्वक लॉग इन करने में सक्षम होना चाहिए निम्नलिखित कमांड टाइप करके उपयोगकर्ता:
mysql