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

Ант*_*гин 2 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)
Run Code Online (Sandbox Code Playgroud)

我该怎么办?据我所知,当我尝试输入时没有密码,但我没有确认密码,'root'/空字符串没有帮助.

Ант*_*гин 8

我解决了这个问题,时间:

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

[mysqld]
skip-grant-tables
Run Code Online (Sandbox Code Playgroud)

这有助于在没有通过任何用户的情况下进入吊.. 重启服务器:sudo service mysql restart

在mysql-console中输入:

mysql -u root
Run Code Online (Sandbox Code Playgroud)

更改root用户的密码:

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

退出控制台:

\q
Run Code Online (Sandbox Code Playgroud)

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

#[mysqld]
#skip-grant-tables
Run Code Online (Sandbox Code Playgroud)

重启mysql-server:

sudo service mysql restart
Run Code Online (Sandbox Code Playgroud)

就这样.:)