当我使用下面命令添加一个新的用户:
grant all on . to ‘sept@localhost’ identified by ‘123’;
退出当前数据库:exit;
使用命令mysql -u sept -p 123启动数据库是会报下面的报错:
Enter password:
ERROR 1045 (28000): Access denied for user ‘sept’@‘localhost’ (using password: YES)
该报错的原因是该sept用户没有权限登录数据库;
然后通过mysql -u root登录进去,use mysql;进入mysql这个数据库中查看user表(select × from user \G;)可以看到sept这个用的host字段为“%”,这就说grant all on . to ‘sept@localhost’ identified by ‘123’;这个命令出错了,‘sept@localhost’写错了,应该改为’sept’@‘loacalhost’,这两个是独立的,localhost可以是ip(10.78.88.212)
Ps:网上很多找到报这个错的,都叫我们去修改my.conf这个文件,但是从报错的信息来看,是权限的问题,不是跳过密码的步骤,应该从权限表入手解决(user)