我在运行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
**登录?
3条答案
按热度按时间7cjasjjr1#
我建议使用select user,host from mysql.user优先;语句检查用户权限,然后进行相应的设置。从上面的错误来看,主要是权限的问题。
tv6aics12#
事情是这样的1、你现在不能登录到MySQL而不输入密码,因为你已经设置了密码。所以现在登录没有密码,你可以保存密码的地方,有两件事,你可以做
1:连接配置文件
您必须做的第一件事是为无密码身份验证创建配置文件。这是在mysql_config_editor工具的帮助下完成的。假设我们要为MySQL服务器创建一个配置文件,名为mysql1,在IP地址www.example.com上运行192.168.1.158,管理员用户为dbadmin。为此,您可以发出以下命令:
现在让我们用配置文件连接到mysql1服务器。在终端窗口中,发出以下命令:
上的MySQL服务器上的MySQL提示符。就这样
2:在root home创建文件,如下所示
然后只输入MySQL,你就可以连接到服务器了。
ukqbszuj3#
根据上一个解决方案MySQL 5.7.20 unable to set root password
你应该试试