Tôi đang cố cấp cho người dùng quyền chạy thủ tục được lưu trữ ở cấp thủ tục được lưu trữ trên Cơ sở dữ liệu MySQL thay vì cho phép người dùng thực hiện bất kỳ thủ tục được lưu trữ nào trong cơ sở dữ liệu. Tôi đã cố gắng để thực hiện đoạn mã sau:Thủ tục lưu trữ MySQL Quyền
GRANT EXECUTE ON myDB.spName TO 'TestUser'@'localhost';
Nhưng tôi tiếp tục nhận được lỗi sau: Illegal GRANT/REVOKE command, please consult the manual to see which privileges can be used.
Tôi đã cố gắng thay đổi nó như sau:
GRANT EXECUTE ON PROCEDURE myDB.spName TO 'TestUser'@'localhost';
Và tôi nhận được một lỗi khác nhau nêu rõ: Cant find any matching rows in the user table.
Tôi bối rối về nơi tôi đang đi sai?
Cũng trên MySQL Workbench tôi dường như không thể thấy bất kỳ cách nào để cấp quyền ở cấp thủ tục được lưu trữ thông qua GUI. Đây có phải là chính xác hoặc tôi thiếu một cái gì đó?
Xin cảm ơn trước.
Im đăng nhập dưới dạng gốc và người dùng tồn tại khi chạy mã: chọn người dùng từ mysql.user nơi người dùng thích 'test%'; nhưng tôi vẫn xuất hiện để nhận được các lỗi tương tự. – Olly
thử thêm người dùng mới như tôi đã đề xuất và cấp quyền thực thi cho người dùng đó – sakhunzai
một lần nữa với mật khẩu: 'GRANT EXECUTE ON PROCEDURE myDB.spName TO 'TestUser' @ 'localhost' được xác định bằng 'password'; ' – sakhunzai