mysql root 密码为空

mysql root 密码为空

我尝试将装有 MySQL 的磁盘更换为更大更快的磁盘,然后安装 mysql。在mysql-serverubuntu 上安装后,运行时select user,host,authentication_string from user where user='root';一片authentication_string空白。

我设置了密码,但登录 root 的唯一方法是使用 sudo 运行 MySQL 命令,如果我尝试输入密码,则运行mysql -u root -p它不起作用。我还尝试过在登录时将密码留空,但没有任何效果。任何帮助都非常感谢。

系统信息:pop!_os amd64 20.04 (类似 ubuntu)

答案1

一些安装默认启用 MySQL(和 MariaDB)套接字认证插入。

root无需使用密码验证,只需在操作系统上以身份登录即可(直接以身份登录root或使用sudo mysql提升权限为 root)以身份登录rootMySQL 服务器。您也可以对普通用户使用相同的机制,即当我以身份登录bobLinux 服务器并且bob@llocalhost MySQL 中存在帐户时,我可以直接登录而无需额外的验证。

删除套接字身份验证以 root 身份登录

$ sudo mysql -u root

mysql> use mysql;

设置 root 密码,而不是套接字身份验证

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';

通过刷新所有缓存的凭据来激活这些更改

mysql> flush privileges;

mysql -u root -p然后您可以使用您指定的新密码登录。

相关内容