上一篇
最新动态(2025年8月)
MySQL 8.4版本进一步优化了远程连接的安全性能,新增了基于TLS 1.3的加密协议支持,同时简化了远程访问配置流程,对于需要跨服务器协作的开发团队来说,掌握MySQL远程连接的正确方法比以往更加重要。
在实际开发中,我们经常遇到这些场景:
MySQL默认只允许本地(localhost)访问,要开放远程连接,需手动配置,下面从配置到实操一步步详解。
确保网络通畅
MySQL用户权限配置
MySQL通过用户授权控制访问权限,需创建或修改允许远程登录的用户。
默认情况下,MySQL只监听本地回环地址(127.0.0.1),需修改配置文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # Ubuntu/Debian # 或 sudo vim /etc/my.cnf # CentOS/RHEL
找到bind-address
行,改为:
bind-address = 0.0.0.0 # 允许所有IP访问 # 或 bind-address = 你的服务器IP
保存后重启MySQL服务:
sudo systemctl restart mysql
登录MySQL本地客户端:
mysql -u root -p
执行授权命令(示例允许用户remote_user
从任意IP访问mydb
数据库):
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON mydb.* TO 'remote_user'@'%'; FLUSH PRIVILEGES;
关键参数说明:
'192.168.1.100'
) IDENTIFIED BY
:设置密码(建议包含大小写字母、数字和符号) 在本地终端执行:
mysql -h 服务器IP -u remote_user -p
输入密码后即可进入MySQL Shell。
GRANT
命令 在服务器运行以下命令放行端口(以Ubuntu为例):
sudo ufw allow 3306
禁用root远程登录
REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%';
定期更换密码
通过ALTER USER
命令更新密码:
ALTER USER 'remote_user'@'%' IDENTIFIED BY 'NewPassword456!';
监控连接日志
查看异常IP登录记录:
sudo grep 'connect' /var/log/mysql/error.log
远程连接MySQL是开发中的高频需求,但配置不当可能导致数据泄露,按照本文步骤操作后,建议通过SHOW GRANTS
命令复查权限,并通过本地工具实际测试连接稳定性,遇到问题可优先检查网络、防火墙及用户权限三大核心环节。
本文由 绳颖初 于2025-08-02发表在【云服务器提供商】,文中图片由(绳颖初)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/510345.html
发表评论