解决 MySQL 新建用户后无法登录问题

今天在给一台电脑配置 MySQL 时, 使用 root 账户创建了一个新的用户, 设置了密码并指定了允许登录的 Host, 同时授权了所有权限。但是却一直无法使用这个账户登录到 MySQL 里

尝试使用该账户登录时, 出现了以下错误

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

66827-5ae20874020ae351

问题分析

经过多次尝试, 我找了一个解决方案

发现 MySQL 中默认存在一个用户名为空的账户。在本地环境下, 可以不用输入账号密码即可登录到 MySQL 中。而因为这个账户的存在, 导致了使用密码登录无法正确登录。

66827-0163d9ddfd2768fe

解决方案

以 root 账户登录 MySQL

mysql -u root

选择 mysql 库

use mysql;

删除用户名为空的账户

delete from user where User='';

刷新权限

flush privileges;

完成上述步骤后, 就可以使用新创建的用户及密码成功登录 MySQL 了

66827-aa94079279c41891


原文

解决MySQL新建用户后无法登录问题

最后更新于 2019-03-04
使用 Hugo 构建
主题 StackJimmy 设计