用户访问被拒绝' root' localhost' (使用密码:否) - 出了什么问题?

时间:2017-09-13 09:27:56

标签: mysql linux ubuntu

(抱歉我的英文)

这是我的控制台的日志:

anton@anton-X451CA:~$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
anton@anton-X451CA:~$ mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

我该怎么办?我知道当我尝试输入时没有密码,但是我没有确认密码,并且' root' /空字符串没有帮助。

2 个答案:

答案 0 :(得分:7)

我在以下情况解决了这个问题:

更改文件my.cnf(在我的Ubuntu系统中,他位于/etc/mysql/my.cnf)。最后我添加了代码:

[mysqld]
skip-grant-tables

如果没有通过任何用户,这有助于进入吊..重启服务器: sudo service mysql restart

输入mysql-console:

mysql -u root

更改root用户的密码:

UPDATE mysql.user SET authentication_string=PASSWORD('root'), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';FLUSH PRIVILEGES;

退出控制台:

\q

在my.cnf中删除(或使用评论)(我们现在不需要这些设置):

#[mysqld]
#skip-grant-tables

重启mysql-server:

sudo service mysql restart

这就是全部。 :)

答案 1 :(得分:1)

当您安装新的时,通常会执行

mysql_secure_installation

之后。您还可以在其中设置root帐户的初始密码(请注意,这不是您在Linux中拥有的root帐户)。

安装5.7版时。或更高的初始密码不再是空白。您可以在错误日志中找到它。通过查看my.cnf文件查找此日志。我认为默认目录是/var/log/mysql