0

如果标题不正确,请见谅。我仍在尝试了解这是如何工作的。

我已经在笔记本电脑上安装了 MySQL 工作台和 MySQL 服务器。根据图片,我已经成功创建了一个存储驱动程序详细信息的数据库。

我只能在一台笔记本电脑上访问此信息。但是,我也想从其他 PC 访问此信息。我正在考虑将主数据库放在一个安全的房间里,然后将大约 3 台额外的 PC 连接到主数据库。

我还在 Visual Studio 上编写了一个简单的 c# 脚本,该脚本在存储数据库的主笔记本电脑上运行。该脚本只允许用户输入他的用户名和密码,然后在数据网格视图上显示数据库的包含(数据库中的表)。我已包含 SQL 注入代码以防止不需要的字符。此应用程序还允许用户从数据库中插入、更新和删除信息,前提是登录的用户具有这些权限。

现在我也想在其他 3 台 PC 上运行这个应用程序,但显然我遇到了问题。这个问题是这些电脑无法访问主数据库。主数据库用户具有允许他更改数据库的权限,但位于访问点中的其他用户没有此权限。他们所能做的就是输入他们的用户名和密码,然后查看数据库中的数据已显示在数据网格视图上。

所以我的问题是如何授予对其他三台 PC 的访问权限以访问主数据库?MySQL Workbench 和 MySQL 服务器目前只安装在我的笔记本电脑上,而没有安装在其他 3 台 PC 上。

应用程序的图片视图

数据库用户

错误信息

4

1 回答 1

0

数据库技术的全部意义在于允许多个客户端访问同一个服务器并共享相同的数据。(实际上还有一点:处理大量数据的能力。但这不是你现在的问题。)

这是你需要做的。

  1. 在服务器机房的服务器上安装 MySQL 服务器软件。找出该服务器的主机名。
  2. 使用 MySQL Workbench 登录到该服务器。它要求您提供主机名。
  3. 使用 Workbench 将您的数据从本地 MySQL 服务器迁移到服务器机房中的那个。Workbench 具有不错的功能来帮助您做到这一点。
  4. 在共享服务器上创建一个 mysql 帐户,该帐户只能访问您刚刚创建的数据库。请记住,MySQL 用户看起来像这样:'david'@'localhost'or ' david'@'*'or 'mickey'@'*.animation.disney.com'. 也就是说,它们指定了用户名和用户运行的机器。
  5. 更改您的 C# 连接字符串以提及共享服务器的主机名和您刚刚创建的帐户。
myConnectionString = "server=shared.example.com;uid=root;pwd=12345;database=test";

不知何故告诉你的应用程序的其他用户使用这个连接字符串。

还有另一种更简单但不太健壮的方法来完成这一切。确保您的笔记本电脑有自己的主机名。我不知道,david.example.com也许?请咨询您当地的 LAN 或 VPN 管理员。或者只使用笔记本电脑的 IP 地址代替主机名。然后将该主机名放入您的连接字符串中。然后您的应用程序的其他用户可以访问您笔记本电脑上的 MySQL 服务器。但是,如果您关闭笔记本电脑并将其带回家,他们将无法访问。

于 2020-09-07T12:21:26.343 回答