【问题标题】:C# and MySQL ConnectorsC# 和 MySQL 连接器
【发布时间】:2013-03-31 22:50:38
【问题描述】:

为客户端开发一个应用程序,当用户注销时,它会运行程序。

到目前为止,该程序会抓取所有用户的互联网浏览历史并将其放入一个 html 文件,但他们想切换到 MySQL 方法

让所有 MySQL 工作,但在注销时,应用程序运行。

在我的电脑上,我可以使用凭据直接连接到 MySQL 服务器,而且它都在本地网络上,所以没有问题。

但是我们发现了这个问题...

  Problem signature:
  Problem Event Name:   CLR20r3
  Problem Signature 01: historylog.exe
  Problem Signature 02: 2.0.0.0
  Problem Signature 03: 516410a9
  Problem Signature 04: MySql.Data
  Problem Signature 05: 6.0.7.0
  Problem Signature 06: 4c75af83
  Problem Signature 07: fc
  Problem Signature 08: 64
  Problem Signature 09: MySql.Data.MySqlClient.MySql
  OS Version:   6.1.7601.2.1.0.256.48
  Locale ID:    2057
  Additional Information 1: 0a9e
  Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
  Additional Information 3: 0a9e
  Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

根据网上的人说,0a9e表示没有访问服务器的权限,但它是对它需要的表的完全权限,实际上是对服务器本身的完全权限

有什么建议吗?

【问题讨论】:

  • 如果你通过DirectAdmin左右使用MySql,你应该将%添加到对应数据库的access host列表中。
  • 它是在连接到域的 Windows Server 2008 R2 服务器上运行的 MySQL 服务器。

标签: c# mysql database-connection database-permissions


【解决方案1】:

你应该跑

mysql> SHOW GRANTS FOR 'youruser'@'yourdomain';

为了确保您的用户拥有正确的权限。 您还应该确保从授权域进行连接。可以为特定子网授予/拒绝授权。见grant documentation

【讨论】:

  • 授权给用户通配符,我们使用的用户是"remote"@"%"
  • 这是运行授权时返回的内容... GRANT ALL PRIVILEGES ON . TO 'remote'@'%' IDENTIFIED BY PASSWORD '12A5766D1E225DFDD932DD27DF373F3E2F8E15C7' WITH GRANT OPTION GRANT ALL PRIVILEGES ON enet. TO 'remote'@'%' WITH GRANT OPTION
  • 授予所有权限。 TO 'remote'@'%' 由密码 '12A5766D1E225DFDD932DD27DF373F3E2F8E15C7' 识别,具有授予选项授予 enet 上的所有权限。 TO 'remote'@'%' WITH GRANT OPTION
  • 是 .net 应用程序特有的问题吗?您是否尝试使用同一用户的 mysql 命令行从同一台机器连接?
  • 不确定抱歉,在我的电脑上测试程序时,它运行良好。我们真的不能在用户 PC 上运行 MySQL 命令行,因为它是一所学校,它们被锁定了。
【解决方案2】:

您需要在 mysql 服务器上创建数据库模式,程序无法创建它(就像在您的开发环境中所做的那样)。该错误是由数据库模式的生成引起的。

【讨论】:

    猜你喜欢
    • 2015-02-03
    • 2011-12-05
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2011-11-14
    相关资源
    最近更新 更多