当我运行这个命令时:
mysql>insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
Query OK, 1 row affected, 3 warnings (0.14 sec)
有时当我使用此命令登录时:
mysql -u test -p
ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: NO)
但是,当我使用:
mysql -u test
它可以是一个成功的登录。
我可以试试这个 sql 命令来解决这个问题:
mysql>delete from mysql.user where user='';
mysql>flush privileges;
但我还是不明白为什么会这样?
在大多数情况下,我只需要使用mysql>flush privileges;
,它就可以工作。