我正在做一个项目,我一直在尝试使用MySQL而不是SQLite。因此,我下载了MySQL并尝试用mysql_secure_installation设置根密码,但是当我提交这两个密码时,会出现以下错误:
... Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.我一直试图在mysql中设置密码,方法是:
$ sudo mysql -u root
mysql> SET PASSWORD FOR 'root' = PASSWORD('new_password');和
update user set authentication_string=password("password") where user='root';但是它会给出语法错误。
我怎么才能解决这个问题?
编辑:我现在遇到的一个问题是,我需要根密码来连接到MySQL服务器,让它空着似乎不起作用。
发布于 2022-05-04 23:32:32
我刚刚发现了同样的问题。所以,这些是我的步骤:
mysql_secure_installation的进程,sudo pkill -f mysql_secure_installation。mysql,当然,sudo会询问我的系统根密码。一旦我提供了正确的根密码,我就以root mysql用户的身份连接到mysql上。sudo mysql_secure_installation命令,并完成保护Mysql的步骤。PS:看来/root/.mysql_history和~/.mysql_history都没有包含我的ALTER USER命令。无论如何,如果您总是使用敏感信息运行查询,那么检查并删除/编辑是很好的。
发布于 2022-05-03 21:33:41
尝试:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'yournewpassword';发布于 2022-07-26 17:17:32
最近我不得不在运行Ubuntu20.04的无头Ubuntu服务器上重新安装MySQL,这是mysql_secure_installation更改密码时无法工作的最简单方法,我只使用了“mysqladmin -u root密码”(密码不是可以使用的密码,但它是更改根密码的命令),然后它会请求一个新密码,但出于某种原因,安全安装脚本会搞砸,所以只要MySQL root有密码,我就不会真的担心运行安全脚本,因为我不允许3306端口通过防火墙并且只有本地访问权限。
https://askubuntu.com/questions/1406395
复制相似问题