新安装的mysql-server没有要求设置密码

21

我正在debian(实际上是为树莓派准备的Debian版本-Raspbian)上安装mysql-server软件包。我将使用以下命令进行安装:

sudo apt-get install mysql-server

安装过程中没有要求我输入root密码。如果我尝试使用以下命令连接到mysql:

Translated text:

安装时未要求输入根密码。如果尝试使用以下命令连接到mysql:

mysql -u root
或者
mysql -u root -p

使用系统根密码后,我得到了以下错误:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

我感到很困惑,因为显然在安装过程中应该要求我提供根密码。

我该怎么办?

敬礼。

8个回答

31

试试这个:

安装完成后,运行MySql Secure Installation:

pi@raspberrypi:~ $ sudo mysql_secure_installation

您将会被要求回答一系列与安全相关的配置问题,包括设置根密码。

一旦设置了根密码,您需要以root身份登录(或使用sudo)。这是因为MySql基于进程UID使用凭据的后果。(参考链接)


4
谢谢!我运行了$ mysql_secure_installation命令(即不使用sudo),但空密码无法使用。只需添加sudo并且空密码就可以了!操作系统为debian-9。 - Vinay Vissh
请注意,不要在您的密码中使用 \\ 字符。 - Ratata Tata
有没有办法设置它不要每次都要求sudo权限? - Areza
在第一次安装时,即使使用sudo也要求输入root密码,而且没有给我密码.. -_- - Rohit Kaushal

26

给您:

在新版的 my-sql 中,如果在安装时密码被留空,则会使用 auth_socket 插件。

正确的方法是使用 sudo 权限登录 my-sql。

$ sudo mysql -u root -p

然后使用以下方式更新密码:

$ ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';

完成后,请停止并启动MySQL服务器。

$  sudo service mysql stop
$  sudo service mysql start

有关完整细节,您可以参考此链接

如有疑问,请留言。


3
在阅读了大约5个关于密码问题的stackoverflow帖子后,这个帖子解决了这个问题。唯一缺少的就是在mysql之前加上sudo - Pedro
很乐意帮忙 :) @Pedro - Nandesh
@Nandesh 我和 Pedro 的经历一样 - 试了好几篇 Stack Overflow 和 Ask Ubuntu 的帖子,博客文章等等,都没能解决问题,直到我找到了您简单的解决方案。做得好,非常感谢! - duckmayr
@duckmayr 面向开发人员的开发者之间 :) - Nandesh

6

3

在我这里,这里提到的方法都没有奏效,以下是对我有用的方法。

如此处所述:

https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html

创建了一个名为 'root'@'localhost' 的超级用户账户。设置并存储了超级用户的密码在错误日志文件中。 要查看它,请使用以下命令:

shell> sudo grep 'temporary password' /var/log/mysqld.log


1

我曾经遇到同样的问题,无法访问mysql,即使在运行sudo apt install mysql-server后使用mysql_secure_installation的所有答案也无法解决。以下是解决方法:

  1. 转到官方mysql安装指南并逐行执行
  2. 您需要从此处下载一个.deb文件,该文件配置您要安装的mysql版本和其他配置
  3. 完成所有配置后,请运行sudo apt-get update && sudo apt-get install mysql-server。这一次,您将被要求输入密码。

希望对您有所帮助。干杯!


1
从mysql官网https://dev.mysql.com/downloads/repo/apt/下载apt仓库。
选择您的版本,点击下一步,然后选择确定并点击下一步。
现在。
sudo apt-get update  

sudo apt-get install mysql-server

在安装过程中,它会要求输入密码。

1
在我的情况下,mysql的root密码就是我的超级用户密码。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接