在安装mysql5.7.21过程中,启动mysql服务后,本机登录/远程登录 mysql 出现 Error 1130 : host xxx is not allowed to this mysql server。经过我的神机妙算与不屈不挠,终于圆满地解决了问题。
(ps:看了我这篇文章之后,真的可以解决本地不允许登录的问题,因为这是本媛搜过大量的方案提炼出来的,好多回答都是为了骗积分啊,复制粘贴的呀。。)
1.首先配置如何跳过密码登录
- 修改my.ini
在[mysqld]下面加上skip-grant-tables,这是跳过权限登录的意思。
- 重启并登录
net stop mysql,net start mysql;或者打开windows的服务.exe
在mysql的安装目录in下打开DOS窗口(小窍门:直接在地址栏上输入cmd),输入mysql,即可登录。
2.重点:修改root匹配方式
我只介绍改表法,还有授权法,没试过,不多说。
- 改表法(更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%")
c:/mysql/mysql server 5.1>mysql -u root -p
输入相应密码
mysql>use mysql;
mysql>show tables; (确认一下表user是否存在)
mysql>update user set host='%' where user='root';
mysql>quit
退出mysql
3.登录服务
- 重启服务
注释掉刚刚在my.ini中加入的#skip-grant-tables,重启服务;
因为我使用的Zip安装,没有配置密码,所以使用的是安装时分配的随机密码(在data下的.err文件中有提示)。所以我登录是为了改密码
4.改密码(有的同行不需要这一步)
登录后第一件事就是改root密码,不然无论什么命令都会提示改密码
- SET PASSWORD = PASSWORD('yourNewPassword');