Thanks, @Anargh V for confirming the version
This error 'Table 'mysql.proc' doesn't exist' occurs when you migrate the database from version 5.6/5.7 to version 8.0.
In most cases, the Gateway returned version should not impact anything when using Azure MySQL server. However, in some cases when calling a stored procedure from an application, such as CommandType.StoredProcedure in .Net, version 5.6.42 will be detected and then will lookup mysql.proc to fetch relevant stored procedure information. But, MySQL 8.0, does not have the table mysql.proc anymore, which is why the above error is reported.
In MySQL Ver.8, stored procedure information will be stored in the mysql.routines and mysql.parameters tables, which are part of the data dictionary. You cannot access these tables directly. Instead, query the INFORMATION_SCHEMA ROUTINES and PARAMETERS tables
You can also try the following two workarounds from the application end to mitigate the issue:
- Specifying CheckParameters=false in application connection string.
- Specifying in the application connection string the port 3309 instead 3306. More information you can find here
Please let me know if you are looking for any additional information.
Regards
Geetha
Please don't forget to click on or upvote
button whenever the information provided helps you. Original posters help the community find answers faster by identifying the correct answer.