Cách tạo và sử dụng quyền truy cập (user privileges) trong MySQL
Trong MySQL, quyền truy cập (user privileges) cho phép bạn quản lý và kiểm soát quyền truy cập của người dùng đến cơ sở dữ liệu và các đối tượng trong đó. Bằng cách tạo và sử dụng quyền truy cập, bạn có thể xác định những gì người dùng có thể làm và không thể làm trong hệ thống cơ sở dữ liệu MySQL.
Dưới đây là một số cách tạo và sử dụng quyền truy cập trong MySQL:
Tạo người dùng mới
Bạn có thể tạo một người dùng mới bằng cách sử dụng câu lệnh CREATE USER.
Ví dụ: CREATE USER 'username'@'host' IDENTIFIED BY 'password';
Trong đó:
- ‘username’ là tên người dùng mới.
- ‘host’ là địa chỉ IP hoặc tên máy chủ mà người dùng được phép truy cập. Nếu bạn muốn cho phép truy cập từ bất kỳ địa chỉ IP nào, bạn có thể sử dụng ký tự
%
. - ‘password’ là mật khẩu cho người dùng mới.
Cấp quyền truy cập cho người dùng
Sau khi tạo người dùng mới, bạn có thể cấp các quyền truy cập cụ thể cho người dùng đó.
Ví dụ: GRANT privilege_type ON database_name.table_name TO 'username'@'host';
Trong đó:
- ‘privilege_type’ là loại quyền truy cập như SELECT, INSERT, UPDATE, DELETE, hoặc ALL PRIVILEGES.
- ‘database_name.table_name’ chỉ định cơ sở dữ liệu và bảng cụ thể mà quyền truy cập được áp dụng. Nếu bạn muốn áp dụng quyền truy cập trên tất cả các cơ sở dữ liệu hoặc bảng, bạn có thể sử dụng dấu sao (*).
- ‘username’@’host’ là người dùng và máy chủ mà quyền truy cập áp dụng.
Xóa quyền truy cập của người dùng
Nếu bạn muốn thu hồi quyền truy cập của người dùng, bạn có thể sử dụng câu lệnh REVOKE.
Ví dụ: REVOKE privilege_type ON database_name.table_name FROM 'username'@'host';
Trong đó:
- ‘privilege_type’ là loại quyền truy cập đã được cấp trước đó.
- ‘database_name.table_name’ chỉ định cơ sở dữ liệu và bảng cụ thể mà quyền truy cập đã được cấp.
- ‘username’@’host’ là người dùng và máy chủ đã được cấp quyền truy cập trước đó.
Xem quyền truy cập hiện tại của người dùng
Để xem quyền truy cập hiện tại của người dùng, bạn có thể sử dụng câu lệnh SHOW GRANTS.
Ví dụ: SHOW GRANTS FOR 'username'@'host';
Câu lệnh này sẽ hiển thị danh sách các quyền truy cập mà người dùng đã được cấp.
Quyền truy cập là một phần quan trọng trong việc bảo mật và quản lý cơ sở dữ liệu MySQL. Bằng cách sử dụng quyền truy cập, bạn có thể xác định rõ ràng những gì người dùng có thể thực hiện và không thể thực hiện trong hệ thống cơ sở dữ liệu, đồng thời giảm thiểu rủi ro bảo mật và bảo vệ dữ liệu quan trọng của bạn.