MySQL密码正确却无法本地登录的解决方法
程序员文章站
2024-02-29 16:39:34
mysql root密码正确,却怎么也无法从本地登录mysql,提示
复制代码 代码如下:
error 1045 (28000): access denied for...
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才行。
推荐阅读
-
MySQL密码正确却无法本地登录的解决方法
-
php无法连接mysql数据库的正确解决方法
-
phpmyadmin报错:#2003 无法登录 MySQL服务器的解决方法_MySQL
-
phpmyadmin报错:#2003 无法登录 MySQL服务器的解决方法
-
MySQL密码正确却无法本地登录的解决方法_MySQL
-
phpmyadmin报错:#2003 无法登录 MySQL服务器的解决方法_MySQL
-
MySQL密码正确却无法本地登录的解决方法_MySQL
-
MySQL创建用户后本地无法登录的原因
-
phpmyadmin报错:#2003 无法登录 MySQL服务器的解决方法
-
CentOS下安装mysql时忘记设置root密码致无法登录的解决方法