Để đổi tên người dùng root trong MySQL, bạn cần cập nhật trực tiếp bảng hệ thống mysql.user bằng lệnh UPDATE.
⚠️ Cảnh báo quan trọng
- Rất rủi ro: Việc đổi tên root có thể khiến bạn mất quyền truy cập quản trị
- Khuyến nghị: Tạo user mới với quyền đầy đủ, test kỹ, sau đó mới vô hiệu hóa root
- Cần quyền
UPDATEtrên databasemysql(thường chỉ root mới có) - Sau khi đổi, cần
FLUSH PRIVILEGEShoặc restart MySQL
Cú pháp
USE mysql;
UPDATE user SET user = 'ten_moi' WHERE user = 'root';
FLUSH PRIVILEGES;
Ví dụ minh họa
1. Chuyển sang database mysql
mysql> USE mysql;
Database changed
2. Xem danh sách user hiện tại
mysql> SELECT user FROM mysql.user;
Kết quả:
+------------------+
| user |
+------------------+
| Manish |
| User2 |
| mysql.infoschema |
| mysql.session |
| mysql.sys |
| root |
| Adam Smith |
| User1 |
| am |
+------------------+
3. Đổi tên 'root' thành 'myRoot'
mysql> UPDATE user SET user = 'myRoot' WHERE user = 'root';
Query OK, 1 row affected (0.00 sec)
4. Kiểm tra lại
mysql> SELECT user FROM mysql.user;
Kết quả:
+------------------+
| user |
+------------------+
| Manish |
| User2 |
| mysql.infoschema |
| mysql.session |
| mysql.sys |
| myRoot | -- Đã đổi
| Adam Smith |
| User1 |
| am |
+------------------+
Các bước an toàn hơn (Khuyến nghị)
- Tạo user mới:
CREATE USER 'admin_user'@'%' IDENTIFIED BY 'mat_khau_manh'; - Cấp quyền:
GRANT ALL PRIVILEGES ON *.* TO 'admin_user'@'%' WITH GRANT OPTION; - Test đăng nhập: Đăng nhập bằng user mới, kiểm tra toàn bộ quyền
- Khóa root:
ALTER USER 'root'@'localhost' ACCOUNT LOCK; - Đổi tên root (tùy chọn): Chỉ sau khi chắc chắn user mới hoạt động tốt
Lưu ý phiên bản MySQL 8.0+
- Bảng
mysql.userkhông còn cộtpassword, dùngauthentication_string - Plugin xác thực mặc định:
caching_sha2_password - Khuyến nghị dùng
CREATE USER,ALTER USER,DROP USERthay vì UPDATE trực tiếp bảng hệ thống