MySQL raises ER_UNKNOWN_PROCEDURE (1106) when a CALL statement references a stored procedure that the server cannot find in the active schema or that the user cannot access.
MySQL Error 1106: ER_UNKNOWN_PROCEDURE appears when the server cannot locate the referenced stored procedure in the current database or the caller lacks EXECUTE rights. Confirm the procedure name, qualify it with the correct schema, and grant EXECUTE to fix the issue.
Unknown procedure '%s'
Error 1106 (ER_UNKNOWN_PROCEDURE) signals that the database cannot resolve the stored procedure named in a CALL statement. MySQL checks the current default schema and the procedure creator’s privileges; if the object is not found or inaccessible, the server aborts the call.
The error blocks execution immediately, so any subsequent SQL in the batch is skipped.
Fixing it is critical in production pipelines because missing procedures break business logic and automated jobs.
Developers see the message while migrating databases, renaming procedures, or switching the default schema without updating application code. It also occurs in test environments where procedures are selectively loaded.
Because the condition code is 42000 (Syntax or access rule violation), permission problems can trigger the same error even when the object exists, confusing new users.
.
Not always. The procedure may exist in a different schema or you may lack EXECUTE privileges, which masks its presence.
No. The server must raise an error when it cannot locate a routine. You must correct the CALL statement or permissions.
Galaxy’s autocomplete lists available procedures from the connected schema, reducing typos. Schema-qualified suggestions ensure calls reference the correct database.
Aurora MySQL follows the same error codes and solutions. Verify the procedure in information_schema and grant EXECUTE as needed.