我运行 mysql_secure_installation 时遇到错误

问题描述 投票:0回答:3

我在运行 sudo 时不断收到以下错误

**mysql_secure_installation**

...失败了!错误:SET PASSWORD 对于用户“root”@“localhost”没有意义,因为使用的身份验证方法不存储 MySQL 服务器中的身份验证数据。请考虑使用 ALTER 如果您想更改身份验证参数,请改为 USER。

任何帮助将不胜感激。

更新:

通过运行 sudo mysql 解决了这个问题,它让我以 root 身份登录而无需密码,然后我运行 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';

在此之后,我能够再次运行

mysql_secure_installation
,这次我必须选择使用现有密码(我使用上述 SQL 命令设置的密码)。

但是现在我无法再没有密码登录,运行

sudo mysql
现在拒绝 root 用户访问:

错误 1045 (28000):用户“root”@“localhost”的访问被拒绝(使用 密码:无)

如何再次使用

sudo mysql
重新登录?

mysql sql ubuntu-server ubuntu-22.04
3个回答
0
投票

我建议首先使用 select user,host from mysql.user ;语句检查一下你的用户权限,然后进行相应的设置。从上面的错误来看,主要是权限的问题。


0
投票

事情是这样的。 第一,如果不输入密码,您现在无法登录MySQL,因为您已经设置了密码。 所以现在要无需密码登录,您可以将密码保存在某处,您可以做两件事

1: 与个人资料连接

您必须做的第一件事是创建无密码身份验证的配置文件。这是在 mysql_config_editor 工具的帮助下完成的。假设我们要为 MySQL 服务器创建一个配置文件,名为 mysql1,在 IP 地址 192.168.1.158 上运行,管理员用户为 dbadmin。为此,您需要发出命令:

mysql_config_editor set –login-path=mysql1 –host=<Server-ip> –user=dbadmin –password

现在让我们使用配置文件连接到 mysql1 服务器。从终端窗口发出命令:

mysql –login-path=mysql1

您将立即进入 MySQL 服务器上的 MySQL 提示符。就是这样。

2:在根目录下创建一个文件如下

cd ~
vi .my.cnf
##save below

[client]
user=root
password = asdfghjkl

然后只需输入 MySQL 即可连接到服务器。


-1
投票

根据之前的解决方案 MySQL 5.7.20 无法设置root密码

你应该尝试一下

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypasswordhere';
© www.soinside.com 2019 - 2024. All rights reserved.