开发单主机多客户端MYSQL数据库
Develop a single host multiple client MYSQL database
标题不对还请见谅。我仍在努力理解它是如何工作的。
我已经在笔记本电脑上安装了 MySQL workbench 和 MySQL 服务器。我已经成功创建了一个存储 driver 详细信息的数据库,如图所示。
我只能在一台笔记本电脑上访问此信息。但是,我也想从其他 PC 访问此信息。我正在考虑将主数据库放在一个安全的房间里,然后将大约 3 台额外的 PC 连接到主数据库。
我还在 Visual Studio 上编写了一个简单的 c# 脚本,运行 在我存储数据库的主要笔记本电脑上。这个脚本只允许用户输入他的用户名和密码,然后在数据网格视图上显示数据库的内容(数据库中的 table)。我已经包含了 SQL 注入代码以防止不需要的字符。此应用程序还允许用户插入、更新和删除数据库中的信息,前提是登录的用户已被授予这些权限。
现在我也想运行其他3台PC上的这个应用程序,但显然我有问题。这个问题是这些 PC 无法访问主数据库。主数据库用户具有允许他更改数据库的权限,但位于访问点中的其他用户没有此权限。他们所能做的就是输入他们的用户名和密码,然后看到数据库中的数据显示在数据网格视图上。
所以我的问题是如何授予其他三台 PC 访问主数据库的权限?
MySQL Workbench 和 MySQL 服务器到目前为止只安装在我的笔记本电脑上,没有安装在其他 3 台电脑上。
Database users
Error message
数据库技术的要点就是让多个客户端访问同一个服务器,共享同一个数据。 (其实还有一点:处理海量数据的能力。不过现在这不是你的问题。)
这是您需要做的。
- 在服务器机房的服务器上安装 MySQL 服务器软件。找出该服务器的主机名。
- 使用 MySQL Workbench 登录该服务器。它要求您提供主机名。
- 使用 Workbench 将您的数据从本地 MySQL 服务器迁移到服务器机房中的服务器。 Workbench 有不错的功能可以帮助您做到这一点。
- 在共享服务器上创建一个 mysql 帐户,该帐户只能访问您刚刚创建的数据库。请记住,MySQL 用户看起来像这样:
'david'@'localhost'
或 'david'@'*'
或 'mickey'@'*.animation.disney.com'
。也就是说,它们指定了用户名和用户运行的机器。
- 更改您的 C# 连接字符串以提及共享服务器的主机名和您刚创建的帐户。
myConnectionString = "server=shared.example.com;uid=root;pwd=12345;database=test";
以某种方式告诉您应用的其他用户使用此连接字符串。
还有另一种更简单但不太健壮的方法来完成这一切。确保您的笔记本电脑有自己的主机名。我不知道,david.example.com
也许吧?请咨询您当地的 LAN 或 VPN 管理员。或者只使用笔记本电脑的 IP 地址代替主机名。然后将该主机名放入您的连接字符串中。然后您的应用程序的其他用户可以访问您笔记本电脑上的 MySQL 服务器。但是,如果您关闭笔记本电脑并将其带回家,他们将无法访问。
标题不对还请见谅。我仍在努力理解它是如何工作的。
我已经在笔记本电脑上安装了 MySQL workbench 和 MySQL 服务器。我已经成功创建了一个存储 driver 详细信息的数据库,如图所示。
我只能在一台笔记本电脑上访问此信息。但是,我也想从其他 PC 访问此信息。我正在考虑将主数据库放在一个安全的房间里,然后将大约 3 台额外的 PC 连接到主数据库。
我还在 Visual Studio 上编写了一个简单的 c# 脚本,运行 在我存储数据库的主要笔记本电脑上。这个脚本只允许用户输入他的用户名和密码,然后在数据网格视图上显示数据库的内容(数据库中的 table)。我已经包含了 SQL 注入代码以防止不需要的字符。此应用程序还允许用户插入、更新和删除数据库中的信息,前提是登录的用户已被授予这些权限。
现在我也想运行其他3台PC上的这个应用程序,但显然我有问题。这个问题是这些 PC 无法访问主数据库。主数据库用户具有允许他更改数据库的权限,但位于访问点中的其他用户没有此权限。他们所能做的就是输入他们的用户名和密码,然后看到数据库中的数据显示在数据网格视图上。
所以我的问题是如何授予其他三台 PC 访问主数据库的权限? MySQL Workbench 和 MySQL 服务器到目前为止只安装在我的笔记本电脑上,没有安装在其他 3 台电脑上。
Database users
Error message
数据库技术的要点就是让多个客户端访问同一个服务器,共享同一个数据。 (其实还有一点:处理海量数据的能力。不过现在这不是你的问题。)
这是您需要做的。
- 在服务器机房的服务器上安装 MySQL 服务器软件。找出该服务器的主机名。
- 使用 MySQL Workbench 登录该服务器。它要求您提供主机名。
- 使用 Workbench 将您的数据从本地 MySQL 服务器迁移到服务器机房中的服务器。 Workbench 有不错的功能可以帮助您做到这一点。
- 在共享服务器上创建一个 mysql 帐户,该帐户只能访问您刚刚创建的数据库。请记住,MySQL 用户看起来像这样:
'david'@'localhost'
或 'david'@'*'
或'mickey'@'*.animation.disney.com'
。也就是说,它们指定了用户名和用户运行的机器。 - 更改您的 C# 连接字符串以提及共享服务器的主机名和您刚创建的帐户。
myConnectionString = "server=shared.example.com;uid=root;pwd=12345;database=test";
以某种方式告诉您应用的其他用户使用此连接字符串。
还有另一种更简单但不太健壮的方法来完成这一切。确保您的笔记本电脑有自己的主机名。我不知道,david.example.com
也许吧?请咨询您当地的 LAN 或 VPN 管理员。或者只使用笔记本电脑的 IP 地址代替主机名。然后将该主机名放入您的连接字符串中。然后您的应用程序的其他用户可以访问您笔记本电脑上的 MySQL 服务器。但是,如果您关闭笔记本电脑并将其带回家,他们将无法访问。