Tôi có một người dùng MySQL và tôi muốn nó CHỈ xem các lượt xem tôi muốn chứ không phải bất kỳ bảng nào khác trong cơ sở dữ liệu. Tôi đã cấp quyền cho người dùng này chỉ trên một số chế độ xem như sau:
GRANT SHOW VIEW ON `myDatabase`.`awesome_view` TO 'thisUser'@'%'
Nếu tôi làm một show grants;
tuyên bố, tôi chỉ có thể thấy quyền này như mong đợi. Tuy nhiên, tôi muốn người dùng này truy vấn CHỈ các chế độ xem chứ không phải các bảng có liên quan đến các chế độ xem này, nhưng tôi không thể tìm ra cách để làm điều này. Có vẻ như là nếu tôi muốn người dùng thực hiện lựa chọn trên màn hình, thì lựa chọn đó cũng phải được cấp cho bảng, hoặc tôi sai?
Nếu tôi từ chối select
câu lệnh trong phần còn lại của các bảng và trong dòng lệnh tôi cố gắng thực hiện một lựa chọn, tôi đã nhận được như sau:
SELECT * FROM myDatabase.fordibenForYouTable;
ERROR 1142 (42000): SELECT command denied to user 'thisUser'@'localhost' for table 'fordibenForYouTable'
Đó thực sự là những gì tôi muốn, nhưng tôi cũng bị từ chối nếu tôi chọn dữ liệu xem.
Có cách nào tôi có thể cung cấp cho người dùng chỉ các chế độ xem chứ không phải các bảng không?