如何在mysql中配置网络访问

来源:这里教程网 时间:2026-02-28 20:26:46 作者:

要在 MySQL 中配置网络访问,核心是修改 MySQL 的绑定地址、用户权限和防火墙设置,使其允许来自其他主机的连接。默认情况下,MySQL 通常只监听本地回环地址(127.0.0.1),因此需要手动调整配置。

修改 MySQL 配置文件绑定地址

MySQL 的主配置文件通常是 my.cnfmy.ini,位置可能在 /etc/mysql/my.cnf(Linux)或安装目录下(Windows)。

找到 [mysqld] 段落中的 bind-address 参数:

若设置为 127.0.0.1,表示仅允许本地连接。 改为 0.0.0.0 可监听所有网络接口,允许远程访问。 也可指定特定 IP(如你的服务器局域网 IP)来限制监听范围。

示例配置:

[mysqld]
bind-address = 0.0.0.0
port = 3306

保存后重启 MySQL 服务使更改生效:

sudo systemctl restart mysql

授予用户远程访问权限

MySQL 用户默认可能只允许从 localhost 登录。需使用 root 或有权限的账户登录并授权。

执行以下 SQL 命令允许特定用户从任意主机连接:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
'%' 表示允许从任何 IP 连接,生产环境建议替换为具体 IP,如 'username'@'192.168.1.100' 权限可根据需要调整,例如只给某数据库权限:ON database_name.*

检查防火墙设置

确保服务器防火墙放行 MySQL 默认端口 3306。

以 Ubuntu 使用 ufw 为例:

sudo ufw allow 3306/tcp

若使用云服务器(如阿里云、AWS),还需在安全组规则中添加入方向规则允许 3306 端口。

测试远程连接

从另一台机器使用 MySQL 客户端测试:

mysql -h your_mysql_server_ip -u username -p

如果连接失败,检查 MySQL 错误日志(通常位于 /var/log/mysql/error.log)排查问题。

基本上就这些。关键是配置 bind-address、用户权限和防火墙三者协同。改完记得重启服务并测试连通性。不复杂但容易忽略细节。

相关推荐

热文推荐