我正在做一个网络项目,我正在使用 wamppserver 管理服务器和数据库。现在我面临一个问题,我必须分享这个项目。因此,如果我可以共享我在项目中使用的特定数据库,这样其他人就可以从他们的机器上访问并获取以前存储在数据库中的所有数据,这将是非常有用的。有可能吗?怎样?
wamppserver
k4ymrczo1#
如果需要向本地mysql服务器上的一个数据库授予对其他计算机的访问权限,则需要执行以下操作:您需要打开mysql到网络接口:检查my.cnf,然后执行以下操作:注解行跳过网络。更改行绑定地址以保留lan ip地址/wan ip地址(如果计算机本身具有wan ip)/0.0.0.0(对于计算机的所有ipv4地址)/::(对于计算机的所有ipv4和ipv6地址)。重新配置后,重启mysql服务器。检查/配置端口3306已打开的防火墙(您可以配置防火墙以仅接受来自所需IP的连接)(此操作的配置将取决于防火墙软件)。从您需要的IP向用户授予访问权限。您可以从所有IP向一个用户授予访问权限,为此,请在mysql cli或phpmyadmin上使用具有超级权限(通常是root)的用户执行命令[1]。您可以从一个ip向一个用户授予访问权限。执行命令[2]。[1] :将数据库.*上的所有权限授予由“password”标识的“user”@“%”;[2] :将数据库.*上的所有权限授予由“password”标识的“user”@“host”;您需要将数据库替换为要授予特权的数据库的名称,将用户替换为要访问的用户名,将主机替换为要访问的客户端的ip地址,将密码替换为所需的密码。例如,如果希望同一用户名从两个不同的IP访问,也可以重复命令[2]。此外,您还可以使用[1]和[2]的组合,使用具有以下示例格式的主机:@'192.168.0.%',以便从192.168.0.0/24网络上的所有计算机向这些用户提供访问权限。此外,您还可以提供非常好的权限,例如,使用grant select、insert更改grant all privileges,这些用户只能执行select和insert语句,但不能更新或删除语句。您可以查看mysql doc或stackoverflow了解更多信息。
1条答案
按热度按时间k4ymrczo1#
如果需要向本地mysql服务器上的一个数据库授予对其他计算机的访问权限,则需要执行以下操作:
您需要打开mysql到网络接口:检查my.cnf,然后执行以下操作:
注解行跳过网络。
更改行绑定地址以保留lan ip地址/wan ip地址(如果计算机本身具有wan ip)/0.0.0.0(对于计算机的所有ipv4地址)/::(对于计算机的所有ipv4和ipv6地址)。重新配置后,重启mysql服务器。
检查/配置端口3306已打开的防火墙(您可以配置防火墙以仅接受来自所需IP的连接)(此操作的配置将取决于防火墙软件)。
从您需要的IP向用户授予访问权限。
您可以从所有IP向一个用户授予访问权限,为此,请在mysql cli或phpmyadmin上使用具有超级权限(通常是root)的用户执行命令[1]。
您可以从一个ip向一个用户授予访问权限。执行命令[2]。
[1] :将数据库.*上的所有权限授予由“password”标识的“user”@“%”;
[2] :将数据库.*上的所有权限授予由“password”标识的“user”@“host”;
您需要将数据库替换为要授予特权的数据库的名称,将用户替换为要访问的用户名,将主机替换为要访问的客户端的ip地址,将密码替换为所需的密码。
例如,如果希望同一用户名从两个不同的IP访问,也可以重复命令[2]。此外,您还可以使用[1]和[2]的组合,使用具有以下示例格式的主机:@'192.168.0.%',以便从192.168.0.0/24网络上的所有计算机向这些用户提供访问权限。
此外,您还可以提供非常好的权限,例如,使用grant select、insert更改grant all privileges,这些用户只能执行select和insert语句,但不能更新或删除语句。您可以查看mysql doc或stackoverflow了解更多信息。