没有密码的MySQL root帐户?

Sca*_*ass 4 root debian mysql

我刚刚在 root 帐户上安装了没有密码的 MySQL 服务器。我被提示输入 root 密码 3 次,我将其全部留空 3 次,因为我不想使用密码。但现在在我看来,这可能不是一个好主意。

我尝试从 Workbench 连接(现在输入密码),但出现错误:Access denied for user 'root'@'localhost'. 为什么没有密码?

我现在意识到,如果我只在安装时提供了一些虚拟密码,我就不会有问题,所以我尝试通过键入来设置它:mysqladmin -u root -p password; 输入空白密码,再次得到以下信息:

mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost'
Run Code Online (Sandbox Code Playgroud)

如果我只是在控制台中输入“mysql”,我会得到:

Access denied for user 'me'@'localhost' (using password: NO)
Run Code Online (Sandbox Code Playgroud)

如果我可以拥有没有密码的 root 帐户,并且如果在这种情况下我不会有太多问题,那么我宁愿不使用密码,但如果这不好,请告诉我如何设置密码。如果没有密码就很好,那么请告诉我如何在没有密码的情况下连接:)

编辑:Linux 发行版:Mint Cinnamon 64 位;MySQL 版本:5.7

Rui*_*iro 7

默认情况下,Debian/Ubuntu/Mint 有一个具有管理访问权限的用户,即用于关闭 MySQL,称为debian-sys-maint.

转到/etc/mysql/debian.cnf具有以下格式的文件:

[client]
host     = localhost
user     = debian-sys-maint
password = XXXXXXXX
socket   = /var/run/mysqld/mysqld.sock 
Run Code Online (Sandbox Code Playgroud)

从那里获取安装 MySQL 时随机生成的密码(例如,它在服务器之间不同);

并使用以下命令登录您的 MySQL:

mysql -udebian-sys-maint -pXXXXXXXX
Run Code Online (Sandbox Code Playgroud)

之后,您可以更改root密码。

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
Run Code Online (Sandbox Code Playgroud)

请注意,这在 MySQL 5.7 中略有变化。看看如何使用 MySQL v5.7 更改 MySQL 'root' 密码?