设置我的 mysql 服务器 - 限制可以连接的域

设置我的 mysql 服务器 - 限制可以连接的域

我正在尝试在我的计算机上设置一个 mysql 服务器。我想限制它监听连接的域。我的理解是,您可以让它监听 1 个 IP 或所有 IP。因此,如果我想远程连接,我必须说所有 IP。然后我想阻止所有域,但我知道应该连接的域。我相信这是通过 Windows 防火墙完成的。但是,我如何通过域而不是 IP 来做到这一点?

答案1

user@host在 mysql 中,用户以通配符的形式存储%,所有不匹配的主机默认被阻止。通常在安装时只root@localhost创建帐户,通常没有密码。

您可以按照以下形式定义用户:

--allow login anywhere
CREATE USER 'user'@'%' IDENTIFIED BY 'password';

--allow from hosts in the mydomain.com domain
CREATE USER 'user'@'%.mydomain.com' IDENTIFIED BY 'password';

--allow from hosts in the 123.123.123.0/24 subnet
CREATE USER 'user'@'123.123.123.%' IDENTIFIED BY 'password';

请记住,如果您在两个不同的网络中使用相同的用户名,即:

CREATE USER 'user'@'123.123.123.%' IDENTIFIED BY 'password1';
CREATE USER 'user'@'213.213.213.%' IDENTIFIED BY 'password2';

他们的密码是完全分开管理的。

如果您需要比这更精细的控制,那么您将需要使用防火墙。

您可以通过运行以下命令查看现有用户:

USE mysql;
SELECT * FROM users;

相关文件

相关内容