有许多类似的问题,但没有一个问题对我有帮助。
我在Windows上使用MySQL的根/根凭据已经有一段时间了,但是最近我无法登录
> mysql
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
> mysql -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
> mysql -uroot -p
Enter password: ****
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
> mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)我尝试重置root密码:(在管理控制台中)
> cat C:\mysql-init
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
> mysqld --init-file=C:\mysql-init --console但是有一个错误行:
2015-12-17T10:34:14.616701Z 1 [ERROR] 1131 You are using MySQL as an anonymous user and anonymous users are not allowed to change passwords发布于 2015-12-18 07:53:15
好的,我用--skip-grant-tables选项启动mysqld。之后,我可以使用mysql客户端进行连接,并用
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';发布于 2015-12-17 15:40:07
在my.ini中启用跳过授予表并重新启动MySQL。现在,root可以在没有密码的情况下登录,以便您可以重置密码:
update mysql.user set password=password('newpassword') where user='root';发布于 2015-12-18 21:56:46
我发现,有时,特别是当我在一台机器上安装了多个MySQL实例时,我会得到类似的错误,除非我显式地指定端口(使用-P)和/或主机(使用-h)。试试这个:
mysql -uroot -p -P3306 -h127.0.0.1当然,替换实际的端口(如果您不知道的话检查my.ini )。
在这种情况下,您的密码可能没有更改,不需要重置,等等。尝试使用旧的,以前的功能根密码与此登录字符串。
https://dba.stackexchange.com/questions/123934
复制相似问题