Sửa đổi quyền người dùng trong cơ sở dữ liệu MySQL

Sửa đổi quyền người dùng trong cơ sở dữ liệu MySQL

Cấp đặc quyền MYSQL

mysql> GRANT ALL ON example_database TO 'example_user'@'%';

Để cấp quyền quản trị người dùng cho cơ sở dữ liệu cụ thể, bạn cũng phải cấp cho quyền GRANT OPTION. Dưới đây là một ví dụ:

mysql> GRANT ALL ON example_database TO 'example_user'@'%' WITH GRANT OPTION;

Để cấp cho người dùng quyền chỉ đọc trên cơ sở dữ liệu, bạn có thể sử dụng lệnh sau:

mysql> GRANT SELECT ON example_database TO 'example_user'@'%';

Để cấp quyền người dùng chỉ trên một bảng cụ thể trong cơ sở dữ liệu, bạn có thể sử dụng lệnh sau:

mysql> GRANT SELECT ON example_database TO 'example_user'@'%';
mysql> GRANT INSERT ON example_database.example_table TO 'example_user'@'%';

Thu hồi quyền người dùng

Thu hồi các quyền khá giống với việc cấp chúng. Để thu hồi tất cả các quyền trên một cơ sở dữ liệu cụ thể, hãy sử dụng lệnh sau:

mysql> REVOKE ALL ON example_database FROM 'example_user'@'%';

Nếu người dùng đã có quyền và bạn muốn thu hồi chúng nhưng vẫn cho phép người dùng đọc cơ sở dữ liệu, bạn có thể sử dụng lệnh sau:

mysql> REVOKE ALL ON example_database FROM 'example_user'@'%';
mysql> GRANT SELECT ON example_database TO 'example_user'@'%';

Xem quyền người dùng

mysql> SHOW GRANTS;
+---------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for doadmin@%                                                                                                                              |
+---------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT CREATE, DROP, PROCESS, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT, CREATE USER, CREATE ROLE, DROP ROLE ON *.* TO "doadmin"@"%" WITH GRANT OPTION |
| GRANT ROLE_ADMIN ON *.* TO "doadmin"@"%" WITH GRANT OPTION                                                                                                        |
| GRANT ALL PRIVILEGES ON "defaultdb".* TO "doadmin"@"%" WITH GRANT OPTION                                                                                          |
| GRANT SELECT ON "mysql".* TO "doadmin"@"%" WITH GRANT OPTION                                                                                                      |
| GRANT SELECT ON "sys".* TO "doadmin"@"%" WITH GRANT OPTION                                                                                                        |
| GRANT SELECT ON "metrics_user_telegraf".* TO "doadmin"@"%" WITH GRANT OPTION                                                                                      |
| GRANT SELECT ON "performance_schema".* TO "doadmin"@"%" WITH GRANT OPTION
+---------------------------------------------------------------------------------------------------------------------------------------------------+
7 rows in set (0.07 sec)

Để xem chi tiết quyền cho người dùng khác, bạn có thể sử dụng SHOW GRANTS trong khi chỉ định tên người dùng:

mysql> SHOW GRANTS FOR 'example_user';
+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for example_user@%                                                                                                                              |
+--------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT CREATE, DROP, RELOAD, PROCESS, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT, CREATE USER ON *.* TO "example_user"@"%" WITH GRANT OPTION |
| GRANT ROLE_ADMIN ON *.* TO "example_user"@"%" WITH GRANT OPTION                                                                                        |
| GRANT ALL PRIVILEGES ON "defaultdb".* TO "example_user"@"%" WITH GRANT OPTION                                                                          |
| GRANT SELECT ON "mysql".* TO "example_user"@"%" WITH GRANT OPTION                                                                                      |
| GRANT SELECT ON "sys".* TO "example_user"@"%" WITH GRANT OPTION                                                                                        |
| GRANT SELECT ON "metrics_user_telegraf".* TO "example_user"@"%" WITH GRANT OPTION                                                                      |
| GRANT SELECT ON "performance_schema".* TO "example_user"@"%" WITH GRANT OPTION                                                                         |
+--------------------------------------------------------------------------------------------------------------------------------------------------------+
7 rows in set (0.00 sec)

Tài liệu tham khảo

Để biết thêm thông tin về các quyền của MySQL và cách chúng hoạt động, hãy xem Privileges Provided by MySQL.

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận
0
Rất thích suy nghĩ của bạn, hãy bình luận.x