运行mysql_secure_installation时出现错误

2o7dmzc5  于 2023-06-28  发布在  Mysql
关注(0)|答案(3)|浏览(152)

我在运行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**登录?

7cjasjjr

7cjasjjr1#

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

tv6aics1

tv6aics12#

事情是这样的1、你现在不能登录到MySQL而不输入密码,因为你已经设置了密码。所以现在登录没有密码,你可以保存密码的地方,有两件事,你可以做
1:连接配置文件
您必须做的第一件事是为无密码身份验证创建配置文件。这是在mysql_config_editor工具的帮助下完成的。假设我们要为MySQL服务器创建一个配置文件,名为mysql1,在IP地址www.example.com上运行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:在root home创建文件,如下所示

cd ~
vi .my.cnf
##save below

[client]
user=root
password = asdfghjkl

然后只输入MySQL,你就可以连接到服务器了。

ukqbszuj

ukqbszuj3#

根据上一个解决方案MySQL 5.7.20 unable to set root password
你应该试试

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypasswordhere';

相关问题