phpmyadmin 与更多机器共享特定的数据库
phpmyadmin share specific DB with more machines
我正在做一个网络项目,我正在使用 wamppserver
来管理服务器和数据库。现在我遇到了一个问题,我必须分享这个项目。因此,如果我可以共享我在项目中使用的特定数据库,这将很有用,这样其他人就可以从他们的机器访问并获取以前存储在数据库中的所有数据。有可能做到吗?怎么样?
如果您需要授权其他机器访问本地 mysql 服务器上的一个数据库,您需要做一些事情:
- 您需要打开 MySQL 网络接口:选中 my.cnf,然后执行以下操作:
- 注释行 skip-networking。
- 更改行 bind-address 以保存您的 LAN IP 地址/WAN IP 地址(如果机器本身具有 WAN IP)/0.0.0.0(对于机器的所有 IPv4 地址)/::(对于所有机器的 IPv4 和 IPv6 地址)。重新配置后,重新启动 MySQL 服务器。
- 检查/配置您的防火墙以打开端口 3306(您可以将防火墙配置为仅接受来自所需 IP 的连接)(执行此操作的配置取决于您的防火墙软件)。
- 从您需要的 IP 向用户授予访问权限。
- 您可以从所有 IP 向一个用户授予访问权限,为此,在 MySQL cli 或 phpmyadmin 上执行命令 [1],并使用具有 SUPER 权限的用户(通常是 root)。
- 您可以从一个 IP 向一位用户授予访问权限。执行命令 [2].
[1]: GRANT ALL PRIVILEGES ON database.* TO 'user'@'%' IDENTIFIED BY 'password';
[2]: GRANT ALL PRIVILEGES ON database.* TO 'user'@'host' IDENTIFIED BY 'password';
您需要将数据库替换为要赋予权限的数据库名称,用户使用访问的用户名,主机使用客户端访问的 IP 地址,密码使用所需的密码。
您也可以重复命令 [2],例如,如果您希望相同的用户名可以从两个不同的 IP 进行访问。此外,您可以使用 [1] 和 [2] 的组合,使用具有此示例格式的主机:@'192.168.0.%',用于从 192.168.0.0/24 网络上的所有计算机授予这些用户访问权限.
此外,你还可以赋予非常好的权限,例如将GRANT ALL PRIVILEGES改为GRANT SELECT、INSERT,这些用户只能执行SELECT和INSERT语句,但不能执行UPDATE或DELETE例如。您可以查看 MySQL 文档或 Whosebug 了解更多信息。
我正在做一个网络项目,我正在使用 wamppserver
来管理服务器和数据库。现在我遇到了一个问题,我必须分享这个项目。因此,如果我可以共享我在项目中使用的特定数据库,这将很有用,这样其他人就可以从他们的机器访问并获取以前存储在数据库中的所有数据。有可能做到吗?怎么样?
如果您需要授权其他机器访问本地 mysql 服务器上的一个数据库,您需要做一些事情:
- 您需要打开 MySQL 网络接口:选中 my.cnf,然后执行以下操作:
- 注释行 skip-networking。
- 更改行 bind-address 以保存您的 LAN IP 地址/WAN IP 地址(如果机器本身具有 WAN IP)/0.0.0.0(对于机器的所有 IPv4 地址)/::(对于所有机器的 IPv4 和 IPv6 地址)。重新配置后,重新启动 MySQL 服务器。
- 检查/配置您的防火墙以打开端口 3306(您可以将防火墙配置为仅接受来自所需 IP 的连接)(执行此操作的配置取决于您的防火墙软件)。
- 从您需要的 IP 向用户授予访问权限。
- 您可以从所有 IP 向一个用户授予访问权限,为此,在 MySQL cli 或 phpmyadmin 上执行命令 [1],并使用具有 SUPER 权限的用户(通常是 root)。
- 您可以从一个 IP 向一位用户授予访问权限。执行命令 [2].
[1]: GRANT ALL PRIVILEGES ON database.* TO 'user'@'%' IDENTIFIED BY 'password';
[2]: GRANT ALL PRIVILEGES ON database.* TO 'user'@'host' IDENTIFIED BY 'password';
您需要将数据库替换为要赋予权限的数据库名称,用户使用访问的用户名,主机使用客户端访问的 IP 地址,密码使用所需的密码。
您也可以重复命令 [2],例如,如果您希望相同的用户名可以从两个不同的 IP 进行访问。此外,您可以使用 [1] 和 [2] 的组合,使用具有此示例格式的主机:@'192.168.0.%',用于从 192.168.0.0/24 网络上的所有计算机授予这些用户访问权限.
此外,你还可以赋予非常好的权限,例如将GRANT ALL PRIVILEGES改为GRANT SELECT、INSERT,这些用户只能执行SELECT和INSERT语句,但不能执行UPDATE或DELETE例如。您可以查看 MySQL 文档或 Whosebug 了解更多信息。