mysql如何限制用户远程登录

22次阅读

限制MySQL远程登录需从用户权限、配置文件和防火墙三方面入手:1. 确保用户主机为localhost;2. 配置bind-address=127.0.0.1;3. 防火墙封锁3306端口。

mysql如何限制用户远程登录

在 MySQL 中限制用户远程登录,核心是控制用户的主机访问权限和网络配置。可以通过用户账户设置、MySQL 配置文件以及操作系统防火墙等多层手段实现。

1. 控制用户的主机访问权限

MySQL 用户账号由用户名和主机名共同定义。如果只允许本地登录,应避免创建允许远程连接的用户。

  • 查看当前用户及其允许的主机:

SELECT user, host FROM mysql.user;

  • 确保敏感用户(如 root)仅绑定到本地:

ALTER USER ‘root’@’%’ IDENTIFIED BY ‘密码’ ACCOUNT LOCK; 或删除远程 root 账户:

立即进入豆包AI人工智官网入口”;

立即学习豆包AI人工智能在线问答入口”;

DROP USER ‘root’@’%’;

  • 只保留本地访问的用户:

CREATE USER ‘admin’@’localhost’ IDENTIFIED BY ‘强密码’;

这样该用户只能从本机登录,无法远程连接。

2. 修改 MySQL 配置绑定本地地址

编辑 MySQL 配置文件(通常为 my.cnfmy.ini),限制 MySQL 只监听本地回环地址。

  • 找到 [mysqld] 段落,添加或修改:

bind-address = 127.0.0.1

mysql如何限制用户远程登录

豆包AI编程

豆包推出的ai编程助手

mysql如何限制用户远程登录483

查看详情 mysql如何限制用户远程登录

这表示 MySQL 仅接受来自本机的连接,拒绝外部 IP 访问。

  • 保存后重启 MySQL 服务:

sudo systemctl restart mysql(Linux 系统)

3. 使用防火墙限制访问端口

即使 MySQL 允许远程连接,也可以通过系统防火墙阻止外部访问 3306 端口。

  • 使用 iptables 禁止外部访问:

iptables -A INPUT -p tcp –dport 3306 -j DROP

  • 若需仅允许可信 IP,例如只让 192.168.1.100 连接:

iptables -A INPUT -p tcp -s 192.168.1.100 –dport 3306 -j ACCEPT
iptables -A INPUT -p tcp –dport 3306 -j DROP

4. 定期检查并清理远程用户

定期运行以下命令检查是否存在可远程登录的账户:

SELECT user, host FROM mysql.user WHERE host != ‘localhost’ AND host != ‘127.0.0.1’;

发现不必要的远程访问账户,及时删除或限制。

基本上就这些。通过合理设置用户权限、绑定本地地址和防火墙规则,能有效防止 MySQL 被远程登录滥用。

mysql linux 操作系统 防火墙 端口 配置文件 mysql select input linux

text=ZqhQzanResources