मैं MySQL के लिए अपना पासवर्ड कैसे हटा सकता हूं? मुझे डेटाबेस से जुड़ने के लिए पासवर्ड नहीं चाहिए। मेरा सर्वर Ubuntu चला रहा है।
मैं MySQL के लिए अपना पासवर्ड कैसे हटा सकता हूं? मुझे डेटाबेस से जुड़ने के लिए पासवर्ड नहीं चाहिए। मेरा सर्वर Ubuntu चला रहा है।
जवाबों:
व्यक्तिगत रूप से, मुझे लगता है कि इसके बजाय पासवर्ड सेट करना और उसे /root/.my.cnf में सहेजना बेहतर है:
प्रथम:
mysqladmin -u root password 'asdfghjkl'
फिर रूट की .my.cnf फ़ाइल को संपादित करें:
[client]
password = asdfghjkl
सुनिश्चित करें chmod 0600 .my.cnf
।
अब आपके पास एक पासवर्ड है, लेकिन अब आपको इसके लिए संकेत नहीं दिया जाएगा। मेरा डिफ़ॉल्ट MySQL सर्वर इंस्टाल इस तरह से .my.cnf फ़ाइल में सहेजे गए प्रत्येक MySQL सर्वर के लिए एक पूरी तरह से यादृच्छिक अद्वितीय पासवर्ड है।
mv ./+%Y%m%d
। $ db.sql mysqldump और gzip के बीच $ OUTPUT`
हां, कम पासवर्ड एक अच्छी बात हो सकती है। लेकिन हर किसी के लिए सिर्फ डेटाबेस नहीं खोलें।
unix_socket के माध्यम से:
grant usage on *.* to 'root'@'localhost' identified via unix_socket;
यह आपको पासवर्डलेस mysql एसेस देता है जो स्थानीय रूप से लॉग इन रूट उपयोगकर्ता के लिए है। Btw। हाल के ubuntu / debian रिलीज़ में यह डिफ़ॉल्ट है।
some_user@box: mysql -u root # denied
root@box: mysql # good
some_user@box: sudo mysql # good, if "some_user" has sudo rights.
व्याख्यात्मक स्लाइड: https://www.slideshare.net/ottokekalainen/less-passwords-more-security-unix-socket-authentication-and-other-mariadb-hardening-tips ।
यदि आपके पास MySQL के लिए एक पासवर्ड सेट है, तो पुनर्प्राप्त MySQL रूट पासवर्ड के निर्देशों का पालन करें , और फिर अपना पासवर्ड शून्य करने के लिए सेट करें:
5.7.6 और बाद के लिए
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'
5.7.5 और पूर्व के लिए
update user set password=PASSWORD("") where User='root';
* प्रभावी होने के लिए इसके लिए डीबी रिस्टार्ट (लिंक पर निर्देश देखें) की जरूरत है।
sudo service mysql restart
unix_socket
प्लगइन एक अलग बात है।
IDENTIFIED VIA unix_socket
बयान केवल MariaDB के लिए है।
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED VIA unix_socket;
MySQL के लिए, उसी द्वारा हासिल किया गया है IDENTIFIED WITH auth_socket
।
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED WITH auth_socket;
केवल दो शब्दों का अंतर, लेकिन वे वास्तव में समान नहीं हैं।