• MySQL连接报错(错误:1130)


    1. 原因

    显示这个错误是因为没有连接到该机器MySQL数据库的权限,这是在一开始安装MySQL是默认设置的。

    在数据库mysql下有一张名为`user`的表,其中的字段user下的root的值默认为localhost,也就是只允许本机(安装了这个数据库的机器)进行连接,如下图

     2. 解决办法

    将这个值修改为通配符`%`,意为所有机器均有连接访问这个数据库的权限

    2.1 CMD下修改

    mysql -u root -p "密码";
    
    use mysql;
    
    select host from user where user = `root`;-- 这个不写也可以,只是为了查看locahost的值,详见下图
    
    update mysql.user set `host` = `%` where user = `root`;-- 修改值
    
    flush privileges;-- 刷新
    
    exit; -- 退出

     我们在查看host的那一行可以看出它原本的值为localhost

    3. 原理

    Host列指定了允许用户登录所使用的IP,比如user=root Host=111.222.33.4。这里的意思就是说root用户只能通过111.222.33.4的客户端去访问。 而%是个通配符,如果Host=111.222.33.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。

  • 相关阅读:
    异常流
    动手动脑7
    《大道至简七八章》
    接口与继承-动手动脑
    《大道至简第六章》读后感
    随机数存放到数组并求和
    《大道至简第五章》

    echo
    mount命令
  • 原文地址:https://www.cnblogs.com/YuanShiRenY/p/MySQL_Error_1130.html
Copyright © 2020-2023  润新知