चेतावनी: रूट को सभी होस्ट (`%`) से एक्सेस देना **गंभीर सुरक्षा जोखिम** है। केवल विकास/परीक्षण वातावरण में उपयोग करें। उत्पादन में विशिष्ट IP/होस्ट तक सीमित रखें।
विधि: mysql डेटाबेस में user टेबल अपडेट करना
mysql> USE mysql;
Database changed
mysql> UPDATE user SET host = '%' WHERE host = 'localhost' AND user = 'root';
Query OK, 1 row affected (0.19 sec)
mysql> FLUSH PRIVILEGES;
आधुनिक MySQL (8.0+) में बेहतर तरीका
-- नया उपयोगकर्ता बनाएं सभी होस्ट के लिए
CREATE USER 'root'@'%' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
सुरक्षा सिफारिशें
- मजबूत पासवर्ड अनिवार्य करें।
- फायरवॉल से पोर्ट 3306 को केवल विश्वसनीय IP तक सीमित करें।
- SSL/TLS कनेक्शन लागू करें।
- नियमित ऑडिट:
SELECT user, host FROM mysql.user; - उत्पादन में `root` के बजाय सीमित विशेषाधिकार वाले उपयोगकर्ता बनाएं।
वर्तमान एक्सेस जांचें
mysql> SELECT user, host FROM mysql.user WHERE user = 'root';
+------+-----------+
| user | host |
+------+-----------+
| root | % |
| root | localhost |
+------+-----------+