Tốt hơn hết là bạn nên thực sự cấp quyền truy cập trên mysql.proc
bảng cho người dùng ứng dụng của bạn. Vì vậy, hãy kết nối với cơ sở dữ liệu MySQL của bạn dưới dạng root và chạy như sau:
GRANT SELECT ON `mysql`.`proc` TO '<username>'@'%';
Ứng dụng Java của bạn sau đó sẽ có thể xem siêu dữ liệu chính xác mà không cần phải chỉ định noAccessToProcedureBodies=true
Đồng thời đảm bảo rằng người dùng mà bạn đang kết nối với cơ sở dữ liệu có các đặc quyền thực thi đối với thủ tục được đề cập. Một lần nữa, với tư cách là người dùng root hoặc người dùng có đặc quyền cấp:
GRANT EXECUTE ON PROCEDURE db.storedproc TO '<username>'@'%';
Chúc các bạn thành công!