当前位置: 首页 > news >正文

MySQL访问权限授权问题

遇到错误 1130 - Host ‘192.168.56.1’ is not allowed to connect,说明 MySQL 服务器拒绝了来自 IP 地址 192.168.56.1 的访问请求。以下是完整的解决方案:


问题原因

MySQL 默认只允许 本地连接(localhost),如果尝试从其他主机或 IP(如虚拟机、远程服务器)连接,需手动授权。


解决方案

1. 登录 MySQL 并修改权限

需在 MySQL 服务器本地执行以下步骤:

  1. 以 root 身份登录 MySQL(在服务器本机操作):

    mysql -u root -p
    
  2. 进入 mysql 数据库

    USE mysql;
    
  3. 查看当前 root 用户的权限

    SELECT Host, User FROM user WHERE User = 'root';
    

    在这里插入图片描述

    • 如果结果中 Host 列只有 localhost,则需要添加新权限。
  4. 允许指定 IP 访问(例如 192.168.56.1):

    -- 方法1:直接授权(MySQL 5.7+)
    CREATE USER 'root'@'192.168.56.1' IDENTIFIED BY '你的密码';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.56.1' WITH GRANT OPTION;-- 方法2:更新 user 表(通用)
    UPDATE user SET Host = '192.168.56.1' WHERE User = 'root' AND Host = 'localhost';
    
  5. 刷新权限

    FLUSH PRIVILEGES;
    EXIT;
    

2. 检查 MySQL 绑定地址

确保 MySQL 监听所有网络接口或指定 IP:

  1. 打开 MySQL 配置文件 my.ini(默认路径:C:\ProgramData\MySQL\MySQL Server X.X\my.ini)。
  2. 找到 [mysqld] 部分,修改或添加:
    bind-address = 0.0.0.0  # 允许所有 IP 连接(或指定 192.168.56.1)
    
  3. 重启 MySQL 服务:
    net stop MySQL
    net start MySQL
    

3. 测试连接

从客户端机器(IP 为 192.168.56.1)执行:

mysql -u root -p -h <MySQL服务器IP> -P 3306

其他可能性

场景解决方法
授权所有 IP 访问Host 改为 %(不推荐,存在安全风险)
防火墙拦截开放服务器 3306 端口(参考 Windows 防火墙放行端口教程)
使用 SSH 或 VPN 隧道通过加密通道连接 MySQL(更安全)

安全建议

  • 避免使用 % 允许所有 IP 访问。
  • 建议通过 SSH 隧道VPN 连接 MySQL。
  • 使用非 root 用户并限制权限(如只读或指定数据库)。

如果仍无法解决,请提供以下信息:

  1. SELECT Host, User FROM mysql.user; 的输出。
  2. 服务器和客户端的 IP 配置。
  3. 是否跨虚拟机或物理网络连接(如 VirtualBox、VMware)。

相关文章:

  • 二分查找、分块查找、冒泡排序、选择排序、插入排序、快速排序
  • SPL 量化 序言
  • 【FFmpeg从入门到精通】第四章-FFmpeg转码
  • 性能比拼: Nginx vs Caddy
  • 乾元通渠道商中标舟山市自然灾害应急能力提升工程基层防灾项目
  • VTK知识学习(53)- 交互与Widget(四)
  • Kubernetes 创建 Jenkins 实现 CICD 配置指南
  • 5.2.1 CallerMemberName的使用
  • 02-HTML结构
  • 在线查看【免费】vsd, vsdx/wmf, emf /psd, eps/pdf ,ofd, rtf/xmind/bpmn/eml/epub文件格式网
  • 驱动开发硬核特训 · Day 16:字符设备驱动模型与实战注册流程
  • 基于STC89C52RC和8X8点阵屏、独立按键的匹配消除类小游戏
  • unity3d实现物体闪烁
  • Discuz论坛网站忘记管理员密码进不去管理中心怎么办?怎么改管理员密码?
  • 45.[前端开发-JavaScript高级]Day10-迭代器-生成器
  • Git创建空分支并推送到远程仓库
  • 市场分析 3 mysql (槽)
  • YOLO11改进,尺度动态损失函数Scale-based Dynamic Loss,减少标签不准确对损失函数稳定性的影响
  • 【网络安全】OWASP 十大漏洞
  • 蓝桥杯2024省A.成绩统计
  • 金砖国家外长会晤主席声明(摘要)
  • 江西德安回应“义门陈遗址建筑被没收”:将交由规范的义门陈相关社会组织管理
  • 五一假期上海推出首批16条“市民健康路线”,这些健康提示请收好
  • 发出“美利坚名存实亡”呼号的卡尼,将带领加拿大走向何方?
  • 一位排球青训教练的20年时光:努力提高女排球员成才率
  • “85后”潘欢欢已任河南中豫融资担保有限公司总经理