如何在 Ubuntu 20.04 上重置 mysql-server-8.0 root 密码?

Mar*_*oma 2 mysql 20.04

我刚刚安装了 Ubuntu 20.04,但 MySQL 出现了一些问题。我不知道如何登录:

$ mysql -u root -p                      
Enter password: 
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Run Code Online (Sandbox Code Playgroud)

我那里没有任何数据,所以我不在乎数据库是否丢失。事实上,我更喜欢一个干净的解决方案。

我尝试过的

dpkg 重新配置

这个答案

$ sudo dpkg-reconfigure mysql-server-8.0
mysqld will log errors to /var/log/mysql/error.log
mysqld is running as pid 7577
Run Code Online (Sandbox Code Playgroud)

完成后没有错误消息,但我看不到任何输入新密码的方法。

mysqld_安全

我尝试过这个,但是

$ sudo mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket 
'/var/run/mysqld/mysqld.sock' (2)
$ ls -alh /var/run/mysqld/           
total 0
drwxr-xr-x  2 mysql root   40 Mai 17 11:08 .
drwxr-xr-x 38 root  root 1,1K Mai 17 11:08 ..
Run Code Online (Sandbox Code Playgroud)

我想这可能是一个问题?我应该怎么办?

完全重新安装

我按照本指南完全重新安装了 mysql,但遇到了同样的问题。

小智 6

你可以使用这个代码

sudo /usr/bin/mysql --defaults-file=/etc/mysql/debian.cnf

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说适用于 Ubuntu Server 20.04 (2认同)