【问题标题】:Procedure call not working via ProxySql, error MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'mysql.proc' doesn't exist过程调用无法通过 ProxySql 工作,错误 MySql.Data.MySqlClient.MySqlException (0x80004005): 表 'mysql.proc' 不存在
【发布时间】:2019-02-09 14:35:49
【问题描述】:

我有两个用于 mysql 的 RDS 实例,1 个主节点和 1 个复制从节点。我已经设置了一个监听 6033 端口的 ProxySql EC2 实例,它将所有写入请求路由到主节点,将所有读取请求路由到从节点。

在我的 .NET 代码中,如果我执行简单的内联查询,例如“select * from tableX;”然后它通过 ProxySql EC2 实例执行,但是当我将此语句放在一个过程中并通过 c# 代码调用该过程时,它会抛出一个错误:

MySql.Data.MySqlClient.MySqlException (0x80004005): 表 'mysql.proc' 不存在

我正在使用 MySql.Data 8.0.13 nuget 包进行数据库交互。 AWS RDS 上的 Mysql 版本是 8.0.13。

在 .NET 应用程序中,连接字符串是:

server=xxx.amazonaws.com;Port=6033;user=xxx;database=abc;password=xxxx;charset=utf8mb4;

另外,如果我通过 SqlYog 连接,我可以执行该过程而不会出现任何错误,但使用 .NET 时它无法正常工作。

【问题讨论】:

标签: c# amazon-web-services database-replication mysql-8.0 proxysql


【解决方案1】:

确保在您的连接字符串中添加 CheckParameters=false

server=xxx.amazonaws.com;Port=6033;user=xxx;database=abc;password=xxxx;charset=utf8mb4;CheckParameters=false;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多