Sử dụng SQL tiêu chuẩn - đã đã làm điều này nhiều lần trong PosgresQL và Oracle - Tôi muốn cấp SELECT để tất cả các bảng trong schema1 trừsecret
để user1trong MySQL, thu hồi một đặc ân sau khi cấp một đặc ân chung
grant select on schema1.* to user1;
revoke select on schema1.users from user1;
nhận lỗi:
ERROR 1147 (42000): There is no such grant defined for user 'user1' on host '%' on table 'secret'
tôi đang làm gì sai?
Rõ ràng đây là hành vi MySQL chuẩn !!
Làm cho việc hiểu sự thiếu tinh vi bảo mật trong ứng dụng bằng cách sử dụng MySQL trở nên dễ dàng hơn - để thiết lập bảo mật người dùng chính xác trong MySQL là cực kỳ khó khăn.
Bạn nên cấp đặc quyền SELECT cho mỗi bảng, theo từng bảng. – Devart
Bạn có chắc chắn không? Tiêu chuẩn ANSI cho biết những gì tôi đang làm là chính xác. –