मैं अपने MySQL रूट पासवर्ड का पता नहीं लगा सकता; मैं यह कैसे पता लगा सकता हूं? क्या कोई फ़ाइल है जहाँ यह पासवर्ड संग्रहीत है?
मैं इस लिंक का अनुसरण कर रहा हूं, लेकिन मेरे पास स्थानीय में डायरेक्टेडमिन डायरेक्ट्री नहीं है।
मैं अपने MySQL रूट पासवर्ड का पता नहीं लगा सकता; मैं यह कैसे पता लगा सकता हूं? क्या कोई फ़ाइल है जहाँ यह पासवर्ड संग्रहीत है?
मैं इस लिंक का अनुसरण कर रहा हूं, लेकिन मेरे पास स्थानीय में डायरेक्टेडमिन डायरेक्ट्री नहीं है।
जवाबों:
@thusharaK को धन्यवाद मैं पुराने पासवर्ड को जाने बिना रूट पासवर्ड को रीसेट कर सकता था।
Ubuntu पर मैंने निम्नलिखित किया:
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking
फिर mysql को एक नए टर्मिनल में चलाएं:
mysql -u root
और पासवर्ड बदलने के लिए निम्न क्वेरीज़ चलाएँ:
UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
FLUSH PRIVILEGES;
MySQL 5.7 में, mysql.user तालिका फ़ील्ड में पासवर्ड फ़ील्ड को हटा दिया गया था, अब फ़ील्ड का नाम 'प्रमाणीकरण_स्ट्रिंग' है।
Mysql सुरक्षित मोड से बाहर निकलें और mysql सेवा आरंभ करें:
mysqladmin shutdown
sudo service mysql start
mysqladmin -u root -p shutdown
नए पासवर्ड के साथ उपयोग करना था ।
mysql -u root
। यह त्रुटि दिखाता हैAccess denied
आप हैशेड पासवर्ड नहीं देख सकते हैं; केवल एक चीज जो आप कर सकते हैं वह है रीसेट!
MySQL बंद करो:
sudo service mysql stop
या
$ sudo /usr/local/mysql/support-files/mysql.server stop
इसे सुरक्षित मोड में शुरू करें:
$ sudo mysqld_safe --skip-grant-tables
(ऊपर की लाइन पूरी कमांड है)
यह एक चालू कमांड होगा जब तक कि प्रक्रिया समाप्त नहीं हो जाती है तब तक एक और शेल / टर्मिनल विंडो खोलें, बिना पासवर्ड के लॉग इन करें:
$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
MySQL 5.7 और उससे अधिक:
mysql> use mysql;
mysql> update user set authentication_string=password('password') where user='root';
MySQL प्रारंभ करें:
sudo mysql start
या
sudo /usr/local/mysql/support-files/mysql.server start
आपका नया पासवर्ड 'पासवर्ड' है।
mysql_secure_installation
और जड़ अब सहयोग नहीं कर रहा था। authentication_string
सेटिंग क्या करती है?
mysqladmin -u root -p shutdown
नए पासवर्ड के साथ प्रयास करेंsudo service mysql start
MySQL 5.7 और इसके बाद के संस्करण MySQL के लॉग फाइल में रूट सेव करता है।
कृपया इसे आज़माएँ:
sudo grep 'temporary password' /var/log/mysqld.log
/var/log/mysql/error.log
रूट पासवर्ड के खाली होने के बारे में एक चेतावनी निहित थी - इसलिए इस तरह के मेरे दिन को बचाया :)
एक बात जो मुझे mySQL के एक नए इंस्टाल पर फँसाती है और आश्चर्य करती है कि मुझे काम करने के लिए डिफ़ॉल्ट पासवर्ड क्यों नहीं मिला और काम न करने पर रीसेट तरीके भी क्यों। अच्छी तरह से पता चला है कि उबंटू 18 पर mysql सर्वर का सबसे हाल का संस्करण डिफ़ॉल्ट रूप से रूट उपयोगकर्ता के लिए पासवर्ड के उपयोग का उपयोग नहीं करता है। तो इसका मतलब यह है कि इससे कोई फर्क नहीं पड़ता कि आप इसे किसके लिए सेट करते हैं, यह आपको इसका उपयोग नहीं करने देगा। यह आपको एक विशेषाधिकार प्राप्त सॉकेट से लॉगिन करने की उम्मीद कर रहा है। इसलिए
mysql -u root -p
आप सही पासवर्ड का उपयोग कर रहे हैं, भले ही, बिल्कुल भी काम नहीं करेगा !!! इससे कोई फर्क नहीं पड़ेगा कि आपने क्या रखा है।
इसके बजाय आपको उपयोग करने की आवश्यकता है
sudo mysql
जो किसी भी पासवर्ड के साथ काम करेगा। फिर एक बार जब आप में टाइप करें
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password you want to use';
फिर लॉग आउट करें और अब खूनी चीज़ अंत में आपका पासवर्ड स्वीकार करेगी
आप इसे नहीं पा सकते। इसे एक डेटाबेस में संग्रहीत किया जाता है, जिसे एक्सेस करने के लिए आपको रूट पासवर्ड की आवश्यकता होती है, और यहां तक कि अगर आपको किसी भी तरह से एक्सेस मिलता है, तो यह वन-वे हैश के साथ हैशेड होता है। आप इसे रीसेट कर सकते हैं: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
विंडोज सिस्टम में पासवर्ड रीसेट करने के लिए इन चरणों का पालन करें
टास्क मैनेजर की मैसकल सेवा बंद करें
एक टेक्स्ट फ़ाइल बनाएं और नीचे दिए गए स्टेटमेंट को पेस्ट करें
MySQL 5.7.5 और इससे पहले:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');
MySQL 5.7.6 और बाद में:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'yournewpassword';
के रूप में सहेजें mysql-init.txt
और इसे अंदर रखें 'C' drive
।
कमांड प्रॉम्प्ट खोलें और निम्नलिखित पेस्ट करें
C:\> mysqld --init-file=C:\\mysql-init.txt
mysqld --init-file=/root/m.txt
। मैंने कमांड SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');
को ऊपर /root/m.txt
जब तक पैकेज मैनेजर स्थापना के दौरान रूट पासवर्ड टाइप करने का अनुरोध नहीं करता, तब तक डिफ़ॉल्ट रूट पासवर्ड खाली स्ट्रिंग है। हौसले से स्थापित सर्वर से कनेक्ट करने के लिए, टाइप करें:
shell> mysql -u root --password=
mysql>
पासवर्ड बदलने के लिए, यूनिक्स शेल वापस प्राप्त करें और टाइप करें:
shell> mysqladmin -u root --password= password root
नया पासवर्ड 'रूट' है। अब सर्वर से कनेक्ट करें:
shell> mysql -u root --password=
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
ओह, पासवर्ड बदल गया है। नया प्रयोग करें root
:
shell> mysql -u root --password=root
...
blah, blah, blah : mysql welcome banner
...
mysql>
बिंगो! नया कुछ दिलचस्प करते हैं
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
Maurycy
आप mysql रूट पासवर्ड देख सकते हैं, अच्छी तरह से मैंने इसे mysql 5.5 पर आज़माया है ताकि अन्य नए संस्करण के बारे में पता न चले या काम न करें
nano ~/.my.cnf
यह मेरे लिए काम किया:
टर्मिनल पर निम्न लिखें
$ sudo mysql -u root -p
पासवर्ड डालें: // बस एंटर दबाएं
mysql>
डिफ़ॉल्ट पासवर्ड जो mysql सर्वर की तत्काल स्थापना के बाद मेरे लिए काम करता है: mysql
MySql के संस्करण के आधार पर प्रक्रिया बदल जाती है। आपके संस्करण के लिए वर्णित प्रक्रिया का पालन करें:
संकेत - MySql * के अपने संस्करण के लिए निर्देश पृष्ठ से पहले पढ़ें
चरण 5 में: CMD चलाने के बजाय, अपने डेस्कटॉप पर CDM.exe कॉलिंग शॉर्टकट बनाएँ। फिर शॉर्टकट पर राइट-क्लिक करें और "Execute as Administrator" चुनें।
चरण 6 में: कमांड के पहले प्रस्तावित संस्करण को छोड़ें और दूसरे को निष्पादित करें, - thefafaults-file पैरामीटर के साथ
एक बार जब आप कमांड निष्पादित करते हैं, यदि सबकुछ ठीक है, तो सीएमडी विंडो खुली रहती है और चरण 6 की कमांड निष्पादित होती रहती है। बस विंडो बंद करें ('x' पर क्लिक करें), और फिर टास्क मैनेजर से MySQl को बंद करें।
SQL कमांड के साथ फाइल को डिलीट करें, और फिर से MySQL शुरू करें। पासवर्ड अब बदलना होगा।
5.0 http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
5.1 http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html
... बस संस्करण को लिंक में बदलें (5.5, 5.6, 5.7)
डेटा फ़ोल्डर MySQL के अंदर आपकी "hostname" .err फ़ाइल पर काम करता है, इसके साथ शुरू होने वाले स्ट्रिंग की तलाश करने का प्रयास करें:
"रोस्टर @ लोकलहोस्ट के लिए एक अस्थायी पासवर्ड बनाया गया है"
आप उपयोग कर सकते हैं
less /mysql/data/dir/hostname.err
फिर स्लैश कमांड के बाद स्ट्रिंग जिसे आप ढूंढना चाहते हैं
/"A temporary password"
फिर n दबाएं, अगले परिणाम पर जाने के लिए।
यहाँ प्रदान किए गए उत्तर मेरे लिए काम नहीं करते थे, चाल से पता चला: ALTER USER 'root' @ 'localhost' IDENTIFIED विथ mysql_native_password BY 'परीक्षण';
(यहां पूर्ण उत्तर दें: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/ )
सिस्टम:
प्रक्रिया:
दो शेल सत्र खोलें, एक को लिनक्स रूट उपयोगकर्ता के रूप में और दूसरा एक गैर-उपयोगकर्ता के रूप में mysql
कमांड तक पहुंच के साथ ।
अपने मूल सत्र में, सामान्य mysqld श्रोता को रोकें और एक श्रोता को शुरू करें जो पासवर्ड प्रमाणीकरण को दरकिनार करता है ( ध्यान दें: यह एक महत्वपूर्ण सुरक्षा जोखिम है क्योंकि mysql
कमांड का उपयोग करने वाला कोई भी व्यक्ति बिना पासवर्ड के आपके डेटाबेस तक पहुंच सकता है। आप सक्रिय शेल सत्र बंद करना चाह सकते हैं। और / या ऐसा करने से पहले शेल पहुंच को अक्षम करें):
# systemctl stop mysqld
# /usr/sbin/mysqld --skip-grant-tables -u mysql &
अपने गैर-सत्र सत्र में, mysql में लॉग इन करें और mysql रूट पासवर्ड सेट करें:
$ mysql
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> quit;
अपने मूल सत्र में, mysqld के पासवर्ड रहित उदाहरण को मारें और सामान्य mysqld श्रोता को सेवा में पुनर्स्थापित करें:
# kill %1
# systemctl start mysqld
अपने गैर-सत्र सत्र में, आपके द्वारा ऊपर कॉन्फ़िगर किए गए नए रूट पासवर्ड का परीक्षण करें:
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
...
mysql>
मैंने इसे एक अलग तरीके से हल किया, यह कुछ के लिए आसान हो सकता है।
मैंने इसे इस तरह से किया क्योंकि मैंने सुरक्षित मोड में शुरू करने की कोशिश की, लेकिन त्रुटि से नहीं जुड़ सकता: ERROR 2002 (HY000): सॉकेट '/var/run/mysqld/mysqld.sock' (2) के माध्यम से स्थानीय MySQL सर्वर से कनेक्ट नहीं हो सकता
मैंने जो किया वह सामान्य रूप से जड़ से जोड़ने के लिए था:
$ sudo mysql -u root
फिर मैंने एक नया सुपर यूजर बनाया:
mysql> grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
mysql> quit
फिर myuser के रूप में लॉग इन करें
$ mysql -u myuser -p -h localhost
पासवर्ड बदलने की कोशिश ने मुझे कोई त्रुटि नहीं दी, लेकिन मेरे लिए कुछ भी नहीं किया इसलिए मैंने रूट उपयोगकर्ता को छोड़ दिया और फिर से बनाया
mysql> drop user 'root'@'localhost;
mysql> mysql> grant all privileges on *.* to 'root'@'localhost' identified by 'mypassword' with grant option;
रूट उपयोगकर्ता अब नए पासवर्ड के साथ काम कर रहा है
PhpMyAdmin> config.inc.php> $ cfg ['सर्वर'] [$ i] [= पासवर्ड ’] =’ ’पर जाएं;
phpmyadmin
।