Thu hồi có sẵn trong mysql không?

Cách sử dụng MySQL REVOKE GRANT là một công cụ hữu ích khi quản lý cơ sở dữ liệu MySQL. Đọc để tìm hiểu thêm.  

Tại Bobcares, chúng tôi cung cấp các giải pháp cho mọi truy vấn, lớn và nhỏ, như một phần của Dịch vụ hỗ trợ MySQL của chúng tôi

Hãy cùng xem Nhóm hỗ trợ MySQL của chúng tôi đã sẵn sàng như thế nào để giúp khách hàng hiểu thêm về cách sử dụng MySQL REVOKE GRANT

Cách THU HỒI việc sử dụng GRANT trong MySQL

Bạn có biết rằng quản lý đặc quyền đóng một vai trò quan trọng trong quản trị hệ thống và cơ sở dữ liệu? . MySQL cung cấp cho chúng tôi một hệ thống phân bổ đặc quyền đáng tin cậy giúp chúng tôi thực hiện các chính sách truy cập một cách dễ dàng

Trên thực tế, mỗi khi người dùng cố gắng thực hiện một hành động, MySQL sẽ xác minh xem người dùng có đặc quyền thích hợp để tiếp tục với hành động hay không. Nếu có, MySQL sẽ thực thi các câu lệnh khác khi xảy ra lỗi

MySQL REVOKE GRANT usage

MySQL lưu trữ thông tin đặc quyền của người dùng trong một số bảng trong cơ sở dữ liệu hệ thống mysql

Nếu bạn đang tìm cách thu hồi các đặc quyền sau khi cấp cho chúng, bạn đã đến đúng nơi. Chúng ta có thể làm điều này, thông qua lệnh thu hồi. Hơn nữa, chúng ta có thể thu hồi tổ hợp INSERT, SELECT, DELETE, UPDATE, REFERENCES, ALL hoặc ALTER

Đây là cú pháp cơ bản của câu lệnh

REVOKE  ON . FROM ''@'';  

For instance:

REVOKE INSERT ON *.* FROM 'joe'@'localhost';
REVOKE 'role1', 'role2' FROM 'newuser'@'localhost', 'olduser'@'localhost';
REVOKE SELECT ON world.* FROM 'role';

Để sử dụng câu lệnh sử dụng REVOKE GRANT của MySQL, chúng tôi phải chỉ định phạm vi mà chúng tôi muốn xóa đặc quyền. Hơn nữa, chúng tôi có thể xóa một đặc quyền khỏi cấp độ toàn cầu bằng *. & ký tự đại diện

Ví dụ

REVOKE SELECT ON *.* FROM 'bob'@'localhost';

Hơn nữa, chúng ta có thể sử dụng lệnh REVOKE để xóa đặc quyền khỏi cơ sở dữ liệu cụ thể như bên dưới

REVOKE SELECT ON suppliers.* FROM 'john'@'localhost';

Ngoài ra, chúng ta có thể sử dụng lệnh REVOKE để xóa đặc quyền khỏi một đối tượng cơ sở dữ liệu cụ thể như bên dưới

REVOKE UPDATE ON suppliers.revenue FROM 'derek'@'localhost';

Ngoài ra, chúng tôi có thể kiểm tra các đặc quyền có sẵn của người dùng bằng lệnh sau

SHOW GRANTS FOR 'bob'@'localhost';

Vào cuối ngày, việc sử dụng MySQL REVOKE GRANT rất hữu ích trong khi thu hồi các đặc quyền từ người dùng

[Cần hỗ trợ với một truy vấn khác? . ]

Phần kết luận

Tóm lại, các Kỹ sư hỗ trợ MySQL lành nghề của chúng tôi tại Bobcares đã giúp chúng tôi hiểu thêm về cách sử dụng MySQL REVOKE GRANT

NGĂN CHẶN MÁY CHỦ CỦA BẠN KHỎI SỰ CỐ

Không bao giờ mất khách hàng vì tốc độ máy chủ kém. Hãy để chúng tôi giúp bạn

Các chuyên gia máy chủ của chúng tôi sẽ giám sát và bảo trì máy chủ của bạn 24/7 để nó luôn hoạt động nhanh và an toàn

Giả sử chúng ta đã tạo một người dùng có tên 'test_user'@'localhost' trong MySQL bằng cách sử dụng câu lệnh CREATE USER -

mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'testpassword';
Query OK, 0 rows affected (0.23 sec)

Bây giờ, chúng ta hãy tạo một cơ sở dữ liệu và tạo một bảng trong đó

mysql> CREATE DATABASE test_database;
Query OK, 1 row affected (0.56 sec)

mysql> USE test_database;
Database changed

mysql> CREATE TABLE MyTable(data VARCHAR(255));
Query OK, 0 rows affected (0.67 sec)

Truy vấn sau cấp các đặc quyền trên bảng được tạo ở trên cho người dùng 'test_user'@'localhost −

mysql> GRANT SELECT ON test_database.MyTable TO 'test_user'@'localhost';
Query OK, 0 rows affected (0.31 sec)

Bạn có thể xác minh các đặc quyền được cấp bằng cách sử dụng câu lệnh SHOW GRANTS –

________số 8

Bây giờ, bạn có thể thu hồi đặc quyền đã cấp ở trên bằng cách sử dụng câu lệnh REVOKE như hình dưới đây –

mysql> REVOKE SELECT ON test_database.MyTable FROM 'test_user'@'localhost';
Query OK, 0 rows affected (0.25 sec)

Nếu bạn xác minh danh sách cấp cho người dùng cũ, bạn có thể quan sát thấy rằng đặc quyền CHỌN bị xóa khỏi danh sách

REVOKE SELECT ON *.* FROM 'bob'@'localhost';
0

Thu hồi tất cả các đặc quyền

Nếu một người dùng có nhiều đặc quyền với một người dùng, bạn có thể thu hồi tất cả các đặc quyền đó cùng một lúc bằng cách sử dụng câu lệnh REVOKE ALL. Sau đây là cú pháp để làm như vậy -

REVOKE SELECT ON *.* FROM 'bob'@'localhost';
1

Ví dụ

Giả sử chúng ta đã tạo một người dùng, một thủ tục và một bảng có tên sample trong cơ sở dữ liệu như sau -

REVOKE SELECT ON *.* FROM 'bob'@'localhost';
2

Các truy vấn sau cấp các đặc quyền ALTER ROUTINE, EXECUTE trên quy trình đã tạo ở trên cho người dùng có tên 'sample_user'@'localhost'

REVOKE SELECT ON *.* FROM 'bob'@'localhost';
3

Tương tự, truy vấn sau cấp các đặc quyền CHỌN, CHÈN và CẬP NHẬT trên mẫu bảng cho người dùng 'sample_user'@'localhost −

mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'testpassword';
Query OK, 0 rows affected (0.23 sec)
0

Bạn có thể xác minh danh sách tất cả các đặc quyền được cấp cho người dùng -

mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'testpassword';
Query OK, 0 rows affected (0.23 sec)
1

Truy vấn sau thu hồi tất cả các đặc quyền được cấp cho người dùng 'sample_user'@'localhost' −

mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'testpassword';
Query OK, 0 rows affected (0.23 sec)
2

xác minh

mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'testpassword';
Query OK, 0 rows affected (0.23 sec)
3

Thu hồi đặc quyền proxy

Bạn có thể đặt một người dùng làm proxy của người khác bằng cách cấp đặc quyền PROXY cho người dùng đó. Nếu bạn làm như vậy thì cả hai người dùng đều có đặc quyền như nhau

Ví dụ

Giả sử chúng ta đã tạo một người dùng có tên sample_user, proxy_user và một bảng có tên Emp trong MySQL bằng cách sử dụng câu lệnh CREATE -

mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'testpassword';
Query OK, 0 rows affected (0.23 sec)
4

Truy vấn sau cấp các đặc quyền CHỌN và CHÈN trên bảng được tạo ở trên cho người dùng sample_user −

mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'testpassword';
Query OK, 0 rows affected (0.23 sec)
5

Bây giờ, chúng ta có thể gán các đặc quyền proxy cho người dùng proxy_user, sử dụng câu lệnh GRANT như hình bên dưới -

mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'testpassword';
Query OK, 0 rows affected (0.23 sec)
6

Bạn có thể thu hồi đặc quyền proxy bằng cách sử dụng câu lệnh REVOKE PROXY như hình dưới đây –

mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'testpassword';
Query OK, 0 rows affected (0.23 sec)
7

Thu hồi một vai trò

Một vai trò trong MySQL là một tập hợp các đặc quyền có tên. Bạn có thể tạo một hoặc nhiều vai trò trong MySQL bằng cách sử dụng câu lệnh CREATE ROLE. Nếu bạn sử dụng câu lệnh GRANT mà không có mệnh đề ON, bạn có thể cấp vai trò thay vì đặc quyền

Làm cách nào để sử dụng thu hồi trong MySQL?

Để thu hồi tất cả các đặc quyền, hãy sử dụng cú pháp thứ hai, loại bỏ tất cả các đặc quyền chung, cơ sở dữ liệu, bảng, cột và quy trình cho người dùng hoặc vai trò được đặt tên. HỦY BỎ TẤT CẢ CÁC ĐẶC QUYỀN, CẤP TÙY CHỌN TỪ user_or_role [, user_or_role] . THU HỒI TẤT CẢ CÁC ĐẶC QUYỀN, TÙY CHỌN CẤP không thu hồi bất kỳ vai trò nào.

Thu hồi có khả dụng trong MariaDB không?

Câu lệnh REVOKE cho phép quản trị viên hệ thống thu hồi đặc quyền (hoặc vai trò - xem phần bên dưới) từ tài khoản MariaDB . Mỗi tài khoản được đặt tên theo cùng định dạng như đối với câu lệnh GRANT; .

Cái nào sau đây không có sẵn trong MySQL?

1 câu trả lời. Câu trả lời đúng cho câu hỏi “Điều nào sau đây không được MySQL hỗ trợ” là tùy chọn (D). Thủ tục lưu trữ . Bởi vì tất cả các tùy chọn khác như Bảng tạm thời, Nối bảng và Kết hợp biểu thức chính quy đều được MySQL hỗ trợ.

Có bị thu hồi trong SQL không?

Câu lệnh REVOKE có thể được sử dụng để xóa các quyền đã cấp và câu lệnh TỪ CHỐI có thể được sử dụng để ngăn hiệu trưởng đạt được một quyền cụ thể thông qua GRANT. Việc cấp quyền sẽ loại bỏ TỪ CHỐI hoặc THU HỒI quyền đó đối với bảo mật được chỉ định.