新鲜的mysql-server安装不会要求输入密码

Rob*_*ont 14 mysql installation raspberry-pi raspbian

我正在debian上安装包mysql-server(实际上是Raspbian,用于覆盆子pi的Debian版本).我正在使用以下命令安装它

sudo apt-get install mysql-server
Run Code Online (Sandbox Code Playgroud)

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

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

要么

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

并使用系统root密码,我收到以下错误:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Run Code Online (Sandbox Code Playgroud)

我很困惑,因为显然我应该在安装过程中要求提供root密码.

我该怎么办 ?

问候.

cor*_*ore 22

试试这个:

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

pi@raspberrypi:~ $ sudo mysql_secure_installation
Run Code Online (Sandbox Code Playgroud)

系统会询问您一系列与安全相关的配置问题,包括设置root密码.

设置root密码后,您需要以root(或使用sudo)身份登录才能登录.这是MySql如何使用基于进程uid的凭据的结果

  • 谢谢!我跑了`$ mysql_secure_installation`(即没有sudo),空密码不起作用.**刚添加**sudo和空密码**工作**!操作系统:debian-9 (4认同)

Nan*_*esh 18

干得好:

在新的my-sql中,如果密码在安装时保留为空,则它基于auth_socket插件.

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

$ sudo mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

然后使用以下命令更新密码:

$ ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';
Run Code Online (Sandbox Code Playgroud)

一旦完成stop and start了mysql服务器.

$  sudo service mysql stop
$  sudo service mysql start
Run Code Online (Sandbox Code Playgroud)

有关完整的详细信息,请参阅此链接.

对任何疑问发表评论.

  • 在阅读了5个左右有关此密码问题的stackoverflow线程之后,这就是解决该问题的方法。唯一缺少的是mysql之前的sudo。 (3认同)

Aar*_*rvy 5

如果有人在 Ubuntu 18.04 中安装 MYSQL 时遇到这个问题。

Ubuntu 18.04 使用套接字进行授权而不是密码!!

https://websiteforstudents.com/mariadb-installed-without-password-prompts-for-root-on-ubuntu-17-10-18-04-beta/

对我来说,登录非常简单:

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

不要忘记 sudo

我真的希望应该有一条消息指出 Ubuntu 在尝试运行 mysql 时不再使用密码。这是功能上的巨大变化。