Table 'mysql.proc' doesn't exist RRS feed

All replies

  • Getting Table 'mysql.proc' doesn't exist when connecting from .net application to azure mysql 8.0 database. please help

    Good day Yejjala,

    First, you are not in the right forum. This forum is for Azure SQL Database and not for Azure MySQL Database.

    With that being said, even if the issue was related to Azure SQL Database, your description does not provide any useful information to help you. There can be thousands of reasons why you get this error, and you provided no information on how you got it, what exactly you do and what is your database architecture

    Maybe the table does not exists? Maybe you connected to one database and the table exists in a different database? Maybe you do not have permission to see the table? Maybe this is not a table at all but a different entity like a Stored Procedure (my first guess without any base but pure guess)? Maybe the query simple not well formatted? and maybe...

    Instead of writing the "Maybe" book here, start with the options I mentioned and if these are not the cases, then you should ask the question in the right forum and with the full information

    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]    [Linkedin]

    Monday, April 27, 2020 2:47 AM
  • Hi Yejjala,

    I see another customer has reported the same issue on Stack Overflow: Mysql.Data and Azure Mysql error 'Table 'mysql.proc' doesn't exist'


    ISSUE: You are getting the below error because when you start a connection to Azure MySQL, the gateway of Azure MySQL will first send back a greeting package with a default server version " MySQL Community Server (GPL)". This make the MySQL.Data driver treat the server version as 5.6. But actually it is 8.0 and in MySQL 8.0, the table mysql.proc not exists anymore.

    Workaround: You can use ProxySQL to fix the version issue:

    1. Set up ProxySQL for Azure MySQL https://techcommunity.microsoft.com/t5/Azure-Database-for-MySQL/Load-balance-read-replicas-using-ProxySQL-in-Azure-Database-for/ba-p/880042

    2. Update the server version in ProxySQL Connecting to ProxySQL with admin account, run the following commands.

    a. mysql –u admin –padmin -h -P 6032

    b. UPDATE global_variables SET variable_value='' WHERE variable_name='mysql-server_version';

    c. load mysql variables to runtime;

    d. save mysql variable to disk;

    Thursday, April 30, 2020 10:25 PM