Tạo và gán quyền cho User trong MySQL / MariaDB


MySQL / MariaDBhệ 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

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web