यदि उपयोगकर्ता मौजूद है और blahblah
. तो निम्न 2 पंक्तियों को विफल होने दें अभी के लिए कोई फर्क नहीं पड़ता:
create user 'root'@'localhost' identified by 'blahblah';
create user 'root'@'127.0.0.1' identified by 'blahblah';
अपना अनुदान दें:
grant all on *.* to 'root'@'localhost';
grant all on *.* to 'root'@'127.0.0.1';
पासवर्ड को किसी ऐसी चीज़ में बदलें जो आपको याद रहे:
set password for 'root'@'localhost' = password('NewPassword');
set password for 'root'@'127.0.0.1' = password('NewPassword');
देखें कि आपके पास कितने रूट उपयोगकर्ता हैं। एक वास्तविक उपयोगकर्ता एक उपयोगकर्ता/होस्ट कॉम्बो है। पासवर्ड हैशेड दिखाई देगा:
select user,host,password from mysql.user where user='root';
या
select user,host,authentication_string from mysql.user where user='root';
ऊपर वाला दूसरा MySQL 5.7 के लिए है
यदि आपको ऊपर दिए गए दो से अधिक उपयोगकर्ता मिलते हैं, तो अन्य को छोड़ दें जैसे:
drop user 'root'@'%'; -- this is the wildcard hostname, can be a security risk
drop user 'root'@'::1';
अभी भी केवल 2 हैं? ऐसा ही हो। जाँच करने के लिए ऊपर दिए गए चयनित stmts का उपयोग करें।
रूट का उपयोग करके किसी उपयोगकर्ता ऐप को कनेक्ट न करें। रूट केवल रखरखाव के लिए है। इससे कोई फर्क नहीं पड़ता कि यह सर्वर-साइड कोड है, या यदि कोई व्यवस्थापक इसे चला रहा है। कोड जो सुरक्षित नहीं है और/या हानिकारक बयानों के साथ इंजेक्ट किया जाता है, वह रूट के रूप में चलता है। तो वहाँ, इसीलिए।