Home >Database >Mysql Tutorial >MySQL密码正确却无法本地登录的解决方法_MySQL

MySQL密码正确却无法本地登录的解决方法_MySQL

WBOY
WBOYOriginal
2016-06-01 13:05:04793browse

MySQL root密码正确,却怎么也无法从本地登录MySQL,提示

 

代码如下:


ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

 

这里后来经高人指点才发现mysql库中的user表缺少一个root指向host:localhost的数据项,只有一个root指向host:主机名的数据项,故怎么也无法利用root账户登录MySQL。

总结一点就是root账户缺失了访问localhost主机的账户信息,导致无法本地登录。

 

模拟测试如下:

那有什么办法恢复root登录呢?

这里记录一下今天遇到的纠结事情:

首先kill掉MySQL进程然后在启动mysql的参数中加入

 

代码如下:

--skip-grant-tables

 

会发现这时无密码就可以登录mysql了。

当然我们还必须修复root账户丢失的数据项。

这里有两种解决方案:

第一种是因为root账户初始的时候有3条记录,包含root对应localhost,hostname,127.0.0.1三条账户数据,我们可以update host为其他两项中一项为localhost即可。
第二种是直接insert一条记录,host为localhost即可

总结一下:即使root的host包含了主机名,127.0.0.1那么依然是无法正常登录的,这里必须要有localhost的host才行。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn