我尝试过StackOverflow的多个解决方案,但没有取得任何成功。我在Mac OSX(Sierra 10.12.3)上试图创建一个新的数据库和用户。从终端我输入:
mysql -u root
输出此错误:
ERROR 1045(28000):拒绝访问用户&root;' @' localhost' (使用密码:否)
为了尝试解决它,我从'系统偏好设置'中停止了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。
感谢任何帮助。
答案 0 :(得分:31)
出于安全原因,mysql -u root不会工作,直到你在命令中传递-p所以尝试以下方式
mysql -u root -p[Enter]
//enter your localhost password
答案 1 :(得分:8)
只是为了确认:您确定您运行的是MySQL 5.7,而不是MySQL 5.6或更早版本。插件列包含“mysql_native_password”。 (在MySQL 5.7之前,密码哈希存储在名为password的列中。从MySQL 5.7开始,密码列被删除,密码已存储在authentication_string列中。)并且您还验证了身份验证字符串的内容匹配PASSWORD('mysecret')的回报。另外,我们是否有理由对mysql.user表使用DML而不是使用SET PASSWORD FOR语法? - spencer7593
所以基本上只要确保插件列包含“mysql_native_password”。
不是我的工作,但我读了评论,并注意到这被作为答案陈述,但尚未作为可能的答案发布。
答案 2 :(得分:7)
mysql -u root -p;
mysql会要求输入密码
答案 3 :(得分:4)
只需使用:
$ sudo mysql
没有" -u root"参数。
答案 4 :(得分:2)
您必须通过文件夹XAMPP中的xampp-controle.exe运行您的mysql。登录后:
mysql -u root
答案 5 :(得分:1)
根密码是否可能不是您认为的?你有没有检查文件/root/.mysql_secret的密码?这是从5.7版开始生成的自动root密码的默认位置。
val two = xs.filter {case (s, e) => e.isDefined}
.map {case (s, e) => (e, s.indexOf(e.get)) }
.filter {case (e, i) => i > 0}
答案 6 :(得分:1)
如果由于某种原因需要跳过密码提示,可以在命令中输入密码(Dangerous)
mysql -u root --password=secret
答案 7 :(得分:0)
试试这个(在Windows上,我不知道其他人如何),如果你更改了密码,那么现在就不能工作。
1)杀死mysql 2)备份/ mysql / data文件夹 3)转到文件夹/ mysql / backup 4)将文件从/ mysql / backup / mysql文件夹复制到/ mysql / data / mysql(重写) 5)运行mysql在Win7上的XAMPP中,它可以工作。
答案 8 :(得分:0)
@Niagaradad 的评论帮助了我。我一直都在输入错误的密码。
注意错误消息
错误1045(28000):用户'ayaz'@'localhost'的访问被拒绝(使用密码:是)
它说,密码:是的。这意味着我正在向SQL发送密码,这是错误的。
通常 root帐户没有密码(如果您未设置密码)。如果您已通过自制程序安装了MySQL ,则 root帐户将没有密码。
这里是评论。
所以,那不完全相同。否表示您没有向MySQL发送密码。是,表示您正在向MySQL发送密码,但密码不正确。在安装MySQL时,您是否专门为mysql根用户设置了密码?默认情况下,没有密码,因此您可以使用mysql -u root -p并按Enter。
答案 9 :(得分:0)
就我而言,我需要在我的 AWS RDS 实例上 RESHAPING DATA TO - (398, 406)
(398, 1)
接受 Edit Inbound Rules
。否则,默认的 All Traffic
约束阻止我从本地计算机创建数据库。