<p>首先修改mysql用户权限,执行GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘your_password’ WITH GRANT OPTION; 并刷新权限FLUSH PRIVILEGES; 然后编辑配置文件将bind-address改为0.0.0.0以监听所有网络接口,保存后重启MySQL服务;接着在防火墙或安全组中放行3306端口,最后通过mysql -h your_mysql_server_ip -u root -p测试远程连接,确保各环节配置正确。</p>

安装 MySQL 后,默认只允许本地访问。若需要从其他机器远程连接,需进行权限和网络配置。以下是具体操作步骤。
1. 修改 MySQL 用户权限
MySQL 默认的 root 用户通常只允许从 localhost 登录。要支持远程访问,需为用户授予远程连接权限。
登录 MySQL 服务器(使用本地终端):
mysql -u root -p
执行以下命令,允许指定用户从任意主机连接(也可限制为特定 IP):
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘your_password‘ WITH GRANT OPTION;
说明:
- ‘root’@’%’ 表示 root 用户可以从任何 IP 连接,% 是通配符
- your_password 替换为实际密码
- 如需限制访问来源,可将 % 替换为具体 IP,如 ‘root’@’192.168.1.100’
刷新权限使更改生效:
FLUSH PRIVILEGES;
2. 修改 MySQL 配置文件绑定地址
MySQL 默认可能只监听 127.0.0.1,需修改配置使其监听外部请求。
编辑 MySQL 配置文件,位置通常为:
找到 bind-address 配置项:
bind-address = 127.0.0.1
将其改为:
bind-address = 0.0.0.0
这表示监听所有网络接口。如只需特定网卡,可填写服务器局域网 IP。
保存文件后重启 MySQL 服务:
sudo systemctl restart mysql
3. 确保防火墙放行 MySQL 端口
MySQL 默认使用 3306 端口。如果系统或云服务器启用了防火墙,需开放该端口。
sudo ufw allow 3306
centos 使用 firewalld:
sudo firewall-cmd –permanent –add-port=3306/tcpsudo firewall-cmd –reload
云服务器(如阿里云、腾讯云、AWS)还需在安全组中添加入站规则,允许 3306 端口的 TCP 流量。
4. 测试远程连接
从另一台机器使用 MySQL 客户端测试连接:
mysql -h your_mysql_server_ip -u root -p
输入密码后若成功进入 MySQL 命令行,说明远程访问已配置完成。
如连接失败,检查以下几点:
- MySQL 服务是否正常运行
- 配置文件是否正确并已重启服务
- 防火墙或安全组是否放行 3306 端口
- 用户权限是否包含远程主机(% 或具体 IP)
基本上就这些。配置远程访问时注意安全,避免将 root 账户完全暴露在公网。生产环境建议创建专用用户,并限制访问 IP 范围。不复杂但容易忽略细节。


