博客
关于我
mysql设置数据允许远程连接
阅读量:789 次
发布时间:2023-02-13

本文共 1494 字,大约阅读时间需要 4 分钟。

报错:1130-host … is not allowed to connect to this MySql server

你可能遇到了一个常见的MySQL远程连接问题:"1130-host … is not allowed to connect to this MySql server"。这个错误提示意味着你正在尝试从一个非本地主机(如远程计算机)连接到MySQL服务器,但MySQL拒绝了这个连接请求。

允许远程连接和防火墙无关

请注意,这个错误与防火墙设置无关。防火墙可能阻止某些端口,但这并不直接影响MySQL对远程连接的控制。真正的原因通常与MySQL的用户权限设置有关。

解决方法

有两种主要方法可以解决这个问题:

方法一:修改数据库中的host值

  • 登录MySQL:在本地计算机上打开终端或命令提示符,使用以下命令登录MySQL:

    mysql -u root -p
  • 切换到mysql数据库

    use mysql;
  • 更新用户表中的host值:如果你尝试从远程主机连接,但MySQL拒绝允许,可能是因为用户的host值只允许本地连接(localhost)。你需要将host值更改为允许所有主机连接(即%)。

    update user set host = '%' where user = 'root';

    注意:如果你的用户是root,你可以直接将其host设置为%,这样可以从任何主机登录。然而,如果你的用户不是root,你需要确保他已经被赋予了足够的权限。

  • 执行flush命令:为了确保修改生效,你需要执行flush命令:

    flush privileges;

    如果你只修改了root用户的权限,可能需要执行:

    flush privileges;
  • 测试连接:现在你应该可以通过远程主机连接到MySQL服务器了。你可以使用以下命令进行测试:

    mysql -u root -p

    如果你使用的是非root用户,请确保它已经被授权进行远程登录。

  • 方法二:使用GRANT语句授权

    如果你不想修改root用户的host值,可以通过GRANT语句为用户授予远程访问权限。

  • 登录MySQL:以root用户登录:

    mysql -u root -p
  • 为用户赋予权利:假设你的用户是myuser,密码是mypassword,且你想允许它从任何主机访问数据库。

    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

    注意:如果你想限制某些IP地址的访问,可以将 '%' 替换为具体的IP地址(例如192.168.1.3)。

  • 刷新权限:执行flush命令以确保权限生效:

    flush privileges;
  • 退出MySQL

    exit;
  • 后续操作

    在某些情况下,修改用户权限可能需要重新启动MySQL服务或执行flush privileges命令。如果你在执行GRANT语句后仍然无法连接,请确保数据库服务正在运行,并且没有防火墙阻止了相关端口。

    备选方法

    如果你想快速为root用户赋予权利,可以执行以下命令:

  • 登录MySQL

    mysql -u root -p
  • 赋予root用户权限

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
  • 刷新权限

    flush privileges;
  • 退出MySQL

    exit;
  • 现在,你应该可以从任何主机(包括远程计算机)以root身份登录到你的MySQL服务器了。

    转载地址:http://ildfk.baihongyu.com/

    你可能感兴趣的文章
    Mysql学习总结(21)——MySQL数据库常见面试题
    查看>>
    Mysql学习总结(22)——Mysql数据库中制作千万级测试表
    查看>>
    Mysql学习总结(23)——MySQL统计函数和分组查询
    查看>>
    Mysql学习总结(24)——MySQL多表查询合并结果和内连接查询
    查看>>
    Mysql学习总结(25)——MySQL外连接查询
    查看>>
    Mysql学习总结(26)——MySQL子查询
    查看>>
    Mysql学习总结(37)——Mysql Limit 分页查询优化
    查看>>
    Mysql学习总结(38)——21条MySql性能优化经验
    查看>>
    Mysql学习总结(39)——49条MySql语句优化技巧
    查看>>
    Mysql学习总结(41)——MySql数据库基本语句再体会
    查看>>
    Mysql学习总结(42)——MySql常用脚本大全
    查看>>
    Mysql学习总结(43)——MySQL主从复制详细配置
    查看>>
    Mysql学习总结(45)——Mysql视图和事务
    查看>>
    Mysql学习总结(49)——从开发规范、选型、拆分到减压
    查看>>
    Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
    查看>>
    Mysql学习总结(58)——深入理解Mysql的四种隔离级别
    查看>>
    Mysql学习总结(59)——数据库分库分表策略总结
    查看>>
    Mysql学习总结(60)——并发量大、数据量大的互联网业务数据库设计规范总结
    查看>>
    Mysql学习总结(61)——MySQL优化之DBA级优化整理汇总
    查看>>
    Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
    查看>>