Quy trình 2 bước
- Tạo user với tên và mật khẩu
- Cấp quyền truy cập database cụ thể
Cú pháp
Bước 1: Tạo user
CREATE USER 'ten_user'@'localhost' IDENTIFIED BY 'mat_khau';
Bước 2: Cấp toàn bộ quyền trên database
GRANT ALL PRIVILEGES ON ten_database.* TO 'ten_user'@'localhost';
Ví dụ thực tế
Tạo user "Adam Smith"
mysql> CREATE USER 'Adam Smith'@'localhost' IDENTIFIED BY 'Adam123456';
Query OK, 0 rows affected (0.29 sec)
Cấp quyền trên database "test"
mysql> GRANT ALL PRIVILEGES ON test.* TO 'Adam Smith'@'localhost';
Query OK, 0 rows affected (0.19 sec)
Kiểm tra user đã tạo
mysql> SELECT user, host FROM mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| Manish | % |
| User2 | % |
| mysql.infoschema | % |
| mysql.session | % |
| mysql.sys | % |
| root | % |
| Adam Smith | localhost |
| User1 | localhost |
| am | localhost |
+------------------+-----------+
9 rows in set (0.00 sec)
Các quyền phổ biến khác
| Quyền | Mô tả |
| SELECT | Chỉ đọc dữ liệu |
| INSERT, UPDATE, DELETE | Thêm, sửa, xóa dữ liệu |
| CREATE, DROP, ALTER | Quản lý cấu trúc bảng |
| ALL PRIVILEGES | Tất cả quyền trên database |
Lưu ý bảo mật
- Sử dụng mật khẩu mạnh
- Giới hạn host (localhost vs %)
- Chỉ cấp quyền cần thiết (nguyên tắc least privilege)
- Chạy
FLUSH PRIVILEGES; sau khi cấp quyền (MySQL < 8.0)