MySQL root 帐户没有密码?

MySQL root 帐户没有密码?

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

我尝试从工作台连接(现在输入密码),但收到错误: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'

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

Access denied for user 'me'@'localhost' (using password: NO)

如果我可以拥有没有密码的 root 帐户,并且如果在这种情况下我不会遇到太多问题,那么我想不使用密码而保留它,但如果这不好,请告诉我如何设置密码。如果最好不要密码,请告诉我如何无需密码即可连接:)

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

答案1

默认情况下,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 

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

并使用以下命令登录 MySQL:

mysql -udebian-sys-maint -pXXXXXXXX

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

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

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

答案2

你应该运行:

# mysql_secure_安装

您可以为全新安装的 mysql 服务器设置 root 密码。

相关内容