繁体   English   中英

MySql 错误 1045 (28000): 用户 'root'@'localhost' 访问被拒绝(使用密码:NO)

[英]MySql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

我已经尝试了 StackOverflow 的多种解决方案,但都没有成功。 我在 Mac OSX (Sierra 10.12.3) 上尝试创建一个新的数据库和用户。 从终端我输入:

mysql -u root

输出此错误:

错误 1045 (28000): 用户 'root'@'localhost' 访问被拒绝(使用密码:NO)

为了尝试解决它,我从“系统偏好设置”停止了 mysql,然后从终端输入:

sudo mysqld_safe —skip-grant-tables

我打开了第二个选项卡并输入:

mysql -u root

然后在 mysql 中:

update mysql.user set password_expired = 'N', authentication_string=PASSWORD('newpassword') where user = 'root';

flush privileges;

然后我重新启动计算机(使用 CMD + C 终止进程不起作用)。 重新启动后,尝试mysql -u root仍然会产生相同的错误。

我可以通过 MySQL 客户端和非 root 用户访问 mysql。

任何帮助表示赞赏。

出于安全原因,mysql -u root 将无法工作,直到您在命令中传递 -p,因此请尝试以下方式

 mysql -u root -p[Enter]
 //enter your localhost password
mysql -u root -p;

并且 mysql 会询问密码

确认一下:您确定您运行的是 MySQL 5.7,而不是 MySQL 5.6 或更早版本。 插件列包含“mysql_native_password”。 (在 MySQL 5.7 之前,密码哈希存储在名为 password 的列中。从 MySQL 5.7 开始,密码列被删除,密码 has 存储在 authentication_string 列中。)并且您还验证了身份验证字符串的内容匹配来自 PASSWORD('mysecret') 的返回值。 另外,我们是否有理由对 mysql.user 表使用 DML 而不是使用 SET PASSWORD FOR 语法? – 斯宾塞7593

所以基本上只要确保插件列包含“mysql_native_password”。

不是我的工作,但我阅读了评论并注意到这被列为答案,但尚未作为可能的答案发布。

只需使用:

$ sudo mysql

没有“-u root”参数。

如果由于某种原因需要跳过密码提示,可以在命令中输入密码(危险)

mysql -u root --password=secret

您必须通过 XAMPP 文件夹中的 xampp-controle.exe 运行您的 mysql。 登录后:

mysql -u root

是否有可能 root 密码不是您认为的那样? 您是否检查过文件 /root/.mysql_secret 的密码? 这是从 5.7 版开始生成的自动 root 密码的默认位置。

cat /root/.mysql_secret

试试这个(在 Windows 上,我不知道其他人如何),如果您更改了密码,现在不起作用。

1)杀死mysql 2)备份/mysql/data文件夹3)转到文件夹/mysql/backup 4)将文件从/mysql/backup/mysql文件夹复制到/mysql/data/mysql(重写)5)运行mysql

在我的 Win7 上的 XAMPP 中,它可以工作。

@Niagaradad 的评论帮助了我。 我一直在输入错误的密码。

注意错误信息

错误 1045 (28000):用户 'ayaz'@'localhost' 访问被拒绝(使用密码:是)

它说,密码:是的。 这意味着我将密码发送到 SQL,这是错误的。

如果您没有设置密码,通常root 帐户没有密码 如果您通过自制软件安装了 mysql,那么root 帐户将没有密码。

这是评论。

所以,不完全一样。 NO 表示您没有向 MySQL 发送密码。 YES 表示您正在向 MySQL 发送密码,但该密码不正确。 你安装MySQL的时候有没有专门给mysql root用户设置过密码? 默认情况下没有密码,因此您可以使用 mysql -u root -p 并按 Enter。

就我而言,我需要在我的 AWS RDS 实例上Edit Inbound Rules以接受All Traffic 否则,默认的TCP/IP约束阻止我从本地计算机创建数据库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM