question

Hiten004 avatar image
0 Votes"
Hiten004 asked ·

Table 'mysql.proc' doesn't exist

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

[Note: As we migrate from MSDN, this question has been posted by an Azure Cloud Engineer as a frequently asked question] Source: MSDN


azure-database-mysql
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

1 Answer

Mike-Ubezzi-MSFT avatar image
0 Votes"
Mike-Ubezzi-MSFT answered ·

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

UPDATE

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 "5.6.42.0 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 127.0.0.1 -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;


Source: MSDN





· Share
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.