找回密码
 注册

ERROR 1130 (HY000): Host '127.0.0.1' is not allowed to connect to this MySQL

php 发表于 2019/4/9 10:21 | 显示全部楼层 |阅读模式
ERROR 1130 (HY000): Host '127.0.0.1' is not allowed to connect to this MySQL server
MySQL 登录时出现不允许 127.0.0.1 登录的错误,是因为 MySQL 库的 User 表中的 Host 字段没有授权用户登录。
解决这个问题需要分两种情况。
情况一是安装 MySQL 后第一次使用 root 用户和初始密码登录 MySQL 数据库时出现 Host is not allowed to connect to this MySQL server
检查配置文件 my.ini 的 [mysqld] 下面是否有 skip-name-resolve, 如果有,把它删除掉或者注释掉。
如果以 httpd.exe 进程形式启动而不是以服务的形式安装 MySQL,检查启动 httpd.exe 的参数中是否有--skip-name-resolve,如果有,把它删除掉。
重新启动 MySQL 数据库以后,再次以 root 用户和初始密码登录 MySQL 数据库,运行以下 SQL 语句,将 root 用户的 Host 字段设置为%.
  1. USE `mysql`;
  2. UPDATE `User` SET `Host`='%' WHERE `User`='root';
复制代码
如果出现 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 的错误,需要在执行以上 SQL 前执行以下 SQL 语句修改密码。其中的 YOUR_OWN_PASSWORD 是设置的新密码,请替换成你自己的新密码。
  1. SET PASSWORD='YOUR_OWN_NEW_PASSWORD';
复制代码
重新在 my.ini 或者命令行参数中添加 skip-name-resolve 或者 --skip-name-resolve.
重新启动 MySQL 数据库
情况二是 root 用户可以登录,其他用户无法登录时出现 Host is not allowed to connect to this MySQL server 的错误
使用 root 用户登录 MySQL 数据库,运行以下 SQL 语句,其中 WUXIANCHENG 是用户名,需要替换成你无法登录的用户名。
  1. USE `mysql`;
  2. UPDATE `User` SET `Host`='%' WHERE `User`='WUXIANCHENG';
复制代码
重新启动 MySQL 数据库以后就可以登录了。

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表