MySQL में root यूजरनेम बदलने के लिए mysql.user सिस्टम टेबल पर UPDATE कमांड का उपयोग करें। इसके लिए mysql डेटाबेस पर स्विच करना आवश्यक है।
सिंटैक्स
USE mysql;
UPDATE user SET user = 'yourNewUserName' WHERE user = 'root';
FLUSH PRIVILEGES;
चरण-दर-चरण प्रक्रिया
1. mysql डेटाबेस पर स्विच करें
mysql> USE mysql;
Database changed
2. वर्तमान यूजर सूची देखें
mysql> SELECT user FROM mysql.user;
आउटपुट:
+------------------+
| user |
+------------------+
| Manish |
| User2 |
| mysql.infoschema |
| mysql.session |
| mysql.sys |
| root |
| Adam Smith |
| User1 |
| am |
+------------------+
3. root को नए नाम (जैसे myRoot) में बदलें
mysql> UPDATE user SET user = 'myRoot' WHERE user = 'root';
Query OK, 1 row affected (0.00 sec)
4. परिवर्तन लागू करें
mysql> FLUSH PRIVILEGES;
5. परिवर्तन सत्यापित करें
mysql> SELECT user FROM mysql.user;
आउटपुट:
+------------------+
| user |
+------------------+
| Manish |
| User2 |
| myRoot | -- बदला हुआ नाम
| mysql.infoschema |
| mysql.session |
| mysql.sys |
| Adam Smith |
| User1 |
| am |
+------------------+
⚠️ महत्वपूर्ण चेतावनी
- नए यूजरनेम के साथ कनेक्शन स्ट्रिंग अपडेट करें
- एप्लिकेशन कॉन्फिगरेशन अपडेट करें
- बैकअप यूजर (अन्य एडमिन) मौजूद हो
- प्रोडक्शन में करने से पहले टेस्ट वातावरण में आजमाएं
बेहतर विकल्प: नया एडमिन यूजर बनाएं
root का नाम बदलने के बजाय, नया सुपर यूजर बनाएं:
CREATE USER 'newadmin'@'%' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON *.* TO 'newadmin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
नोट
- MySQL 8.0+ में
mysql.userटेबल संरचना बदल गई है - कुछ संस्करणों में
userकॉलम के बजायUserहो सकता है FLUSH PRIVILEGESआवश्यक है ताकि परिवर्तन तुरंत प्रभावी हों