Các mã nguồn cho các thủ tục được lưu trữ mà bạn đã tải có thể chứa "DEFINER = root @ '%'" như là một phần của định nghĩa - nhìn một chút như thế này:
create definer='root'@'%' procedure sp_test() begin end;
Vấn đề ở đây là bạn không có tài khoản trên hệ thống của bạn cho 'root' @ '%'. Điều này có thể dễ dàng chứng minh. Từ dòng lệnh MySQL:
show grants for 'root'@'%';
Tôi hy vọng điều này sẽ trở lại với một thông báo lỗi:
ERROR 1141 (42000): There is no such grant defined for user 'root' on host '%'
Việc sửa chữa là để thay đổi nguồn gốc của các thủ tục lưu trữ của bạn, hoặc để tạo tài khoản mất tích :
grant all on *.* to 'root'@'%' identified by 'password' with grant option;
Thường không phải là một ý tưởng hay để có tài khoản được hỗ trợ cao từ bất kỳ đâu, nhưng đó là một câu chuyện khác.
+1 tốt đẹp! Tôi đã có một inkling nó đã làm với các đặc điểm kỹ thuật máy chủ lưu trữ trong tên người dùng. Chúng tôi sẽ xem liệu có sắp xếp hay không. –