यदि उपयोगकर्ता पासवर्ड भूल जाता है तो यह ट्यूटोरियल MySQL सर्वर के रूट पासवर्ड को रीसेट करने या बदलने के लिए चरण प्रदान करता है। यह मानता है कि MySQL सर्वर को रोकने और शुरू करने के लिए आपके पास सिस्टम तक पहुंच है। यह ट्यूटोरियल MySQL 8.0 . के लिए विशिष्ट है और ऊपर, हालांकि इसे MySQL 5.7 . सहित MySQL के पुराने संस्करणों के लिए बिल्कुल अलग तरीके से काम करना चाहिए . जैसा कि नीचे बताया गया है, हम रूट पासवर्ड को दो तरीकों से रीसेट कर सकते हैं।
नोट :आप MySQL ट्यूटोरियल का भी अनुसरण कर सकते हैं - Ubuntu पर MySQL 8 कैसे स्थापित करें, Ubuntu से MySQL को पूरी तरह से कैसे निकालें, और MySQL का उपयोग करके बेसिक SQL क्वेरीज़ सीखें।
पासवर्ड अपडेट करें
यदि हम पहले से ही इसे जानते हैं तो हम केवल MySQL के रूट पासवर्ड को अपडेट कर सकते हैं। यह नीचे दिखाए गए आदेशों का उपयोग करके किया जा सकता है। बदलें कमांड पसंदीदा है क्योंकि यह MySQL 5.7 . पर काम करता है और MySQL 8 , हालांकि आप किसी भी आदेश का पालन कर सकते हैं।
# MySQL में लॉगिन करें
mysql -uroot -p
# OR
mysql -u root -p
# MySQL - 5.7.5 और इससे पहले
अद्यतन mysql.user SET पासवर्ड =पासवर्ड ('पासवर्ड') जहां उपयोगकर्ता ='रूट'; ("पासवर्ड") जहां उपयोगकर्ता ='रूट';
# या
'रूट'@'लोकलहोस्ट' के लिए पासवर्ड सेट करें =पासवर्ड ("पासवर्ड");
# MySQL - 5.7, 8
उपयोगकर्ता 'रूट'@'लोकलहोस्ट' को '<पासवर्ड>' से पहचाना जाता है;
# या
उपयोगकर्ता 'रूट'@'लोकलहोस्ट' को '<पासवर्ड' से पहचाना जाता है। पासवर्ड>';
# MySQL - 8
उपयोगकर्ता 'रूट'@'लोकलहोस्ट' को '<पासवर्ड>' द्वारा caching_sha2_password से पहचाना गया;
# फ्लश
FLUSH PRIVILEGES;
# डिस्कनेक्ट करें
छोड़ें;
यदि आप अपना रूट पासवर्ड भूल गए हैं, तो आप प्रक्रिया A . का पालन कर सकते हैं या प्रक्रिया B जैसा कि नीचे बताया गया है।
प्रक्रिया A - सुरक्षित
इस प्रक्रिया में, हम रूट पासवर्ड बदलने के लिए init स्क्रिप्ट का उपयोग करने के लिए MySQL सर्वर को रोकेंगे और प्रारंभ करेंगे।
चरण 1 - सर्वर बंद करें
हमें इस प्रक्रिया के पहले चरण के रूप में सर्वर को रोकना होगा। यह नीचे दिखाए गए आदेशों का उपयोग करके किया जा सकता है।
# init का उपयोग करना
sudo /etc/init.d/mysqld stop
# OR
sudo /etc/init.d/mysql stop
# उपयोग करना service
sudo service mysql stop
# systemd का उपयोग करना
sudo systemctl stop mysqld.service
# OR
sudo systemctl stop mysql
चरण 2 - इनिट फ़ाइल बनाएं
अब init फाइल बनाएं और रूट पासवर्ड को अपडेट करने के लिए कमांड जोड़ें जैसा कि नीचे दिखाया गया है।
# इनिट फाइल बनाएं - अपने पसंदीदा संपादक का प्रयोग करें
sudo nanoinit-file.txt
# पासवर्ड अपडेट करने के लिए क्वेरी जोड़ें
# MySQL - 5.7, 8
अल्टर यूजर 'रूट'@'लोकलहोस्ट' को '<पासवर्ड>' से पहचाना जाता है;
# या
अल्टर यूजर 'रूट'@'लोकलहोस्ट' के साथ पहचाना mysql_native_password BY '';
# MySQL - 8
ALTER USER 'root'@'localhost' को '' द्वारा caching_sha2_password से पहचाना गया;
चरण 3 - MySQL सर्वर प्रारंभ करें
अब नीचे दिखाए गए अनुसार init फ़ाइल का उपयोग करके MySQL सर्वर को प्रारंभ करें।
# सर्वर प्रारंभ करें
sudo mysqld --init-file=init-file.txt &
# OR
sudo mysqld_safe --init-file=init-file.txt &
यह आपके सर्वर की स्थापना के आधार पर त्रुटियों का एक गुच्छा फेंक सकता है।
आपको संदेश रखने में त्रुटि मिल सकती है - mysqld_safe निर्देशिका '/var/run/
# सर्वर बंद करें
# निर्देशिका बनाएं
sudo mkdir -p /var/run/mysqld
# मालिक बदलें
sudo chown mysql :mysql /var/run/mysqld
# init फाइल से शुरू करें
sudo mysqld_safe --init-file=init-file.txt &
आपको संदेश रखने में त्रुटि मिल सकती है - त्रुटि 2002 (HY000):स्थानीय सॉकेट के माध्यम से MySQL सर्वर से कनेक्ट नहीं हो सकता '/var/run/
# सामान्य रूप से MySQL सर्वर प्रारंभ करें - Ubuntu
sudo service mysql start
# सॉक डायरेक्टरी में नेविगेट करें
cd /var/run
# Take बैकअप - सॉक
sudo cp -rp ./mysqld ./mysqld.bak
# सर्वर को सामान्य रूप से रोकें - Ubuntu
sudo service mysql stop
# जुर्राब को पुनर्स्थापित करें
sudo mv ./mysqld.bak ./mysqld
# MySQL को असुरक्षित मोड में प्रारंभ करें
sudo mysqld_safe --skip-grant-tables &
चरण 4 - MySQL सर्वर को रोकें और प्रारंभ करें
अब नियमित कमांड का उपयोग करके MySQL सर्वर को रोकें और शुरू करें जैसा कि नीचे दिखाया गया है।
# init का उपयोग करना
sudo /etc/init.d/mysqld stop
sudo /etc/init.d/mysqld start
# OR
sudo /etc/init. d/mysql स्टॉप
sudo /etc/init.d/mysql start
# सेवा का उपयोग करना
sudo service mysql stop
sudo service mysql start
# systemd का उपयोग करना
sudo systemctl stop mysqld.service
sudo systemctl start mysqld.service
# OR
sudo systemctl stop mysql
sudo systemctl start mysql पूर्व>
यदि आवश्यक हो तो मौजूदा प्रक्रियाओं को समाप्त करें। केवल तभी उपयोग करें जब उपरोक्त आदेश सर्वर को रोकने और शुरू करने के लिए काम न करें।
# प्रक्रियाओं का पता लगाएं
ps aux | grep mysqld
ps aux | grep mysql
# प्रक्रियाओं को खत्म करें
sudo Killall mysqld
sudo Killall mysql
चरण 5 - पासवर्ड का परीक्षण करें
अंत में, जैसा कि नीचे दिखाया गया है, कमांड का उपयोग करके नए पासवर्ड का परीक्षण करें।
# नए पासवर्ड का परीक्षण करें
mysql -u root -p
अपने नए पासवर्ड का परीक्षण करने के बाद init फ़ाइल को हटाना सुनिश्चित करें। यदि यह काम नहीं करता है, तो आप प्रक्रिया B . का पालन कर सकते हैं ।
प्रक्रिया B - कम सुरक्षित
इस प्रक्रिया में, हम रुकेंगे और फिर लॉग इन करने के लिए किसी पासवर्ड की आवश्यकता के बिना MySQL सर्वर शुरू करेंगे।
चरण 1 - सर्वर बंद करें
हमें इस प्रक्रिया को पूरा करने के लिए पहले चरण के रूप में वर्तमान में चल रहे MySQL सर्वर को रोकना होगा। यह नीचे दिखाए गए आदेशों का उपयोग करके किया जा सकता है।
# init का उपयोग करना
sudo /etc/init.d/mysqld stop
# OR
sudo /etc/init.d/mysql stop
# उपयोग करना service
sudo service mysql stop
# systemd का उपयोग करना
sudo systemctl stop mysqld.service
# OR
sudo systemctl stop mysql
चरण 2 - बिना पासवर्ड के MySQL प्रारंभ करें
अब नीचे दिखाए गए कमांड का उपयोग करके पासवर्ड अक्षम के साथ MySQL सर्वर शुरू करें।
ampersand जोड़ना सुनिश्चित करें (&) इस आदेश के अंत में। यह --स्किप-नेटवर्किंग . को भी सक्षम करता है दूरस्थ कनेक्शन को रोकने के लिए स्वचालित रूप से।
# बिना पासवर्ड के शुरू करें
sudo mysqld_safe --skip-grant-tables &
आपको संदेश रखने में त्रुटि मिल सकती है - mysqld_safe निर्देशिका '/var/run/
mysqld ' UNIX सॉकेट फ़ाइल के लिएनहीं मौजूद है . हमेंmysqld बनाना होगा निर्देशिका औरmysql बनाएं नीचे दिखाए गए आदेशों का उपयोग करते हुए स्वामी के रूप में।
# सर्वर बंद करें
# निर्देशिका बनाएं
sudo mkdir -p /var/run/mysqld
# मालिक बदलें
sudo chown mysql :mysql /var/run/mysqld
# बिना पासवर्ड के शुरू करें
sudo mysqld_safe --skip-grant-tables &
आपको संदेश रखने में त्रुटि मिल सकती है - त्रुटि 2002 (HY000):स्थानीय सॉकेट के माध्यम से MySQL सर्वर से कनेक्ट नहीं हो सकता '/var/run/
mysqld /mysqld .sock' . ऐसे मेंकेस , इसे हल करने के लिए उबंटू के लिए नीचे दिए गए आदेशों का पालन करें।
# MySQL सर्वर शुरू करें
sudo service mysql start
# सॉक डायरेक्टरी में नेविगेट करें
cd /var/run
# टैक बैकअप - सॉक
sudo cp -rp ./mysqld ./mysqld.bak
# सर्वर बंद करें
sudo service mysql stop
# जुर्राब को पुनर्स्थापित करें
सुडो एमवी ./mysqld.bak ./mysqld
# असुरक्षित मोड में MySQL प्रारंभ करें
sudo mysqld_safe --skip-grant-tables &
चरण 3 - MySQL से कनेक्ट करें
अब दूसरा टर्मिनल खोलें या क्लाइंट को जोड़ने के लिए किसी अन्य शेल के माध्यम से सर्वर से कनेक्ट करें।
# सीधे कनेक्ट करें
mysql
# रूट के रूप में कनेक्ट करें
mysql -uroot
# OR
mysql -u root
चरण 4 - पासवर्ड बदलें
इस चरण में, नीचे दिखाए गए अनुसार कमांड का उपयोग करके रूट पासवर्ड बदलें। आप अपडेट पासवर्ड . अनुभाग भी देख सकते हैं पासवर्ड बदलने के लिए अन्य कमांड का उपयोग करने के लिए इस ट्यूटोरियल का।
# पासवर्ड बदलें
# MySQL - 5.7, 8
ALTER USER 'root'@'localhost' '';
# OR
अल्टर यूजर 'रूट'@'लोकलहोस्ट' को '<पासवर्ड>' द्वारा mysql_native_password के साथ पहचाना गया;';
# Flush
FLUSH PRIVILEGES;
# डिस्कनेक्ट
छोड़ो;
चरण 5 - MySQL सर्वर को रोकें और प्रारंभ करें
अब नियमित कमांड का उपयोग करके MySQL सर्वर को रोकें और शुरू करें जैसा कि नीचे दिखाया गया है।
# init का उपयोग करना
sudo /etc/init.d/mysqld stop
sudo /etc/init.d/mysqld start
# OR
sudo /etc/init. d/mysql स्टॉप
sudo /etc/init.d/mysql start
# सेवा का उपयोग करना
sudo service mysql stop
sudo service mysql start
# systemd का उपयोग करना
sudo systemctl stop mysqld.service
sudo systemctl start mysqld.service
# OR
sudo systemctl stop mysql
sudo systemctl start mysql पूर्व>
यदि आवश्यक हो तो मौजूदा प्रक्रियाओं को समाप्त करें। केवल तभी उपयोग करें जब उपरोक्त आदेश सर्वर को रोकने और शुरू करने के लिए काम न करें।
# प्रक्रियाओं का पता लगाएं
ps aux | grep mysqld
ps aux | grep mysql
# प्रक्रियाओं को खत्म करें
sudo Killall mysqld
sudo Killall mysql
चरण 6 - टेस्ट पासवर्ड
अंत में, जैसा कि नीचे दिखाया गया है, कमांड का उपयोग करके नए पासवर्ड का परीक्षण करें।
# नए पासवर्ड का परीक्षण करें
mysql -u root -p
सारांश
यदि हम पासवर्ड भूल गए हैं तो हम रूट उपयोगकर्ता या किसी अन्य उपयोगकर्ता के पासवर्ड को रीसेट या बदल सकते हैं।