上一篇
"小王啊,客户那边的MySQL服务器数据需要紧急处理!" 主管一个电话打来,你自信满满打开终端输入mysql -h 123.45.67.89 -u root -p
,结果...😱
ERROR 1130 (HY000): Host '192.168.1.100' is not allowed to connect to this MySQL server
这熟悉的报错是不是让你瞬间血压飙升?别急,今天我们就来彻底解决这个让无数开发者头疼的MySQL远程连接问题!
适用场景:需要精细控制哪些用户可以远程访问,访问哪些数据库
-- 第一步:登录MySQL本地环境 mysql -u root -p -- 第二步:创建专用远程用户(比直接用root安全多了!) CREATE USER 'remote_user'@'%' IDENTIFIED BY 'StrongPassword123!'; -- 第三步:精确授权(按需调整) GRANT ALL PRIVILEGES ON target_database.* TO 'remote_user'@'%'; -- 第四步:立即生效 FLUSH PRIVILEGES;
关键点解析:
'192.168.1.100'
target_database.*
表示只授权特定数据库,安全系数+1适用场景:内网开发环境需要快速搭建测试环境时
# 编辑MySQL配置文件(不同系统路径可能不同) sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # 找到bind-address配置项并修改 # 原配置:bind-address = 127.0.0.1 # 修改为:bind-address = 0.0.0.0
修改后必须:
sudo systemctl restart mysql
bind-address = 0.0.0.0
配置遇到连接失败时,按这个顺序排查:
网络层检查
telnet 服务器IP 3306
不通?检查防火墙/安全组规则
权限验证
SELECT host, user FROM mysql.user; SHOW GRANTS FOR '用户名'@'%';
日志分析
tail -f /var/log/mysql/error.log
对于长期远程访问需求,更推荐使用:
ssh -L 3306:localhost:3306 user@remote_server
本文由 邱清雅 于2025-08-04发表在【云服务器提供商】,文中图片由(邱清雅)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/536162.html
发表评论