MySQL / MariaDB là hệ quản trị CSDL người dùng phổ biến và được sử dụng nhiều trong việc lưu trữ dữ liệu của người dùng, doanh nghiệp. Trong bài viết này vinasupport.com sẽ hướng dẫn các bạn cách tạo và gán quyền User trong MySQL / MariaDB.
Đầu tiên bạn hãy truy cập vào MySQL / MariaDB bằng tài khoản root bằng việc sử dụng Linux Command:
mysql -u root -p
Trường hợp chưa được tài khoản root chưa được set mật khẩu thì dùng thêm sudo ở đầu để đăng nhập
Vậy chúng ta đã truy cập vào chế độ shell của MySQL/MariaDB
Tạo mới user
Để tạo mới một user chúng ta sử dụng lệnh SQL sau:
CREATE USER '<user_name>'@'<hostname>' IDENTIFIED BY '<user_password>';
VD: Tạo user có tên là vinasupport và host là localhost
MariaDB [(none)]> CREATE USER 'vinasupport'@'localhost' IDENTIFIED BY '12345678';
Sau đó ta kiểm tra xem User mới đã được tạo thành công chưa bằng lệnh SQL sau:
MariaDB [(none)]> SELECT user,host FROM mysql.user;
Kết quả chúng ta có:
User có host là localhost chỉ có thể kết nối từ server, nếu các bạn muốn remote từ một server khác thì sử dụng host là %, VD: ‘vinasupport’@’%’
Gán quyền cho user
Bây giờ chúng ta cần phải gán quyền cho user để user có thể kết nối và có quyền thao tác với database hiện tại.
GRANT <permision> ON <database name>.<table name> TO <user name>@<host name>;
Ví dụ gán toàn bộ quyền cho user vinasupport ta sử dụng lệnh SQL sau:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON * . * TO 'vinasupport'@'localhost';
Kết quả:
Bạn có thể chỉ định chỉ gán một số quyền nhất định, như chỉ được select, insert, update thôi chẳng hạn.
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE ON * . * TO 'vinasupport'@'localhost';
Sau khi hoàn tất cần reload lại toàn bộ quyền của User
MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.001 sec)
Gỡ bỏ quyền của 1 user
Sử dụng lệnh sql revoke để gỡ bỏ quyền:
REVOKE <permission> ON <database name>.<table name> FROM <user name>@<host name>;
VD: Gỡ bỏ toàn bộ quyền của user
MariaDB [(none)]> REVOKE ALL PRIVILEGES ON * . * TO 'vinasupport'@'localhost';
Nguồn: vinasupport.com