通过服务器连接MySQL数据库

9

对于网络和类似工作,我是一个初学者,所以提前道歉。一段时间以前,我在我的计算机上本地设置了一个mySQL数据库,并构建了一些与其配合的简单程序(即root:localhost等)。这很好,但现在我希望让我工作中的其他同事能够从他们的计算机上访问数据库,但我不知道该如何做。

可能会有一些网络保护问题(防火墙等),所以可能需要考虑这一点...(虽然IT可以帮助解决此问题,但IT或我自己都不知道连接到数据库需要什么要求)。

例如,我只需要IP地址吗?我是否必须更改数据库的设置?我知道localhost由于明显的原因无法从同事的计算机上使用,但我不知道为其他人访问它应该放什么。

我也不介意让我的计算机作为专用数据库机器运行...除了我的计算机之外,我将无法将其运行在专用服务器上或类似设备上。

任何帮助将不胜感激!谢谢。

4个回答

6

首先,你的同事需要以下内容:

  • MySQL服务器运行的IP地址。
  • 远程连接所需的用户名和密码。
  • 网络上必须开放3306端口。
  • 一个MySQL客户端(如mysql workbench、mysql query browser、toad、heidi或命令行工具)。

在MySQL中创建用户时,应该像这样:

'root'@'localhost'

这意味着,如果您使用root用户从本地主机连接,则用户将起作用。因此,您可以创建允许从任何地方连接的用户:

'juanperez'@'%'

最后,你必须注意授予他们什么特权。不要忘记在MySQL的选项文件中评论一行,其中包含“bind-address”(此选项可以防止远程连接)。


好的,非常感谢。明天我会试一下。3306端口啊......我会研究一下的。 - keynesiancross

4
例如,我只需要一个IP地址吗?
是的。如果您设置正确的域名,您会感到更加满意,但域名只是IP地址的别名。
我是否需要更改数据库的设置?
不需要,但是...您必须添加一些用户凭据以支持远程登录。那是一个变化,但不是模式的变化。这是权限的变化。
我知道本地主机不能从我的同事电脑上工作,出于明显的原因,我不知道其他人可以访问什么内容。
您使用了哪些MySQL管理工具?通常在那里有很好的帮助信息。
您必须阅读参考手册4.15.0 适用于相应版本。
这很清楚。
用户由用户名@主机名标识。您可以指定IP地址(甚至是“%”代替主机名)。

谢谢 - 明天会看一下。 - keynesiancross

3
您将使用以下命令行进行连接 -
mysql -u<user-id> -p<password> -h<your-hostname-or-ipaddress>

对于在不同机器上运行并尝试连接您的数据库的应用程序,您只需要使用您机器的主机名或IP地址替换'localhost'。

通常情况下,如果您能够从另一台系统ping通您的机器,则可以从该机器连接到您的数据库,只需使用您用于'pinging'的任何名称来代替localhost即可。


1
很棒的回答!但是我的难题中还有一部分缺失了。如果你在非标准端口上运行,可以使用mysql -u <用户ID> -p<密码> -h <你的主机名或IP地址> --port <非标准端口>。你的回答帮助我基本解决了问题。谢谢。 - Brian Stinar

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接