多年来我一直在使用mysqld_safe
(像这样),--skip-grant-tables
这样我就可以安全地重置我的 MySQLroot
密码:
sudo mysqld_safe --skip-grant-tables &
但最近,在尝试在 Red Hat 8 上安装 MySQL 8.0.36 时,我得到:
mysqld_safe: command not found
有没有搞错?如果mysqld_safe
找不到该命令,我该如何设置/更改密码root
?
多年来我一直在使用mysqld_safe
(像这样),--skip-grant-tables
这样我就可以安全地重置我的 MySQLroot
密码:
sudo mysqld_safe --skip-grant-tables &
但最近,在尝试在 Red Hat 8 上安装 MySQL 8.0.36 时,我得到:
mysqld_safe: command not found
有没有搞错?如果mysqld_safe
找不到该命令,我该如何设置/更改密码root
?
关于如何更改MySQL用户密码,网上肯定有很多答案
root
。2024 年我从他们那里得到的主要收获是:(二进制/shell脚本
mysqld_safe
)显然不再是 Red Hat 8 和可能的其他 Linux 发行版中 MySQL 8 软件包 (8.0.36) 的一部分。根据Stack Overflow 上的另一个答案
systemd
,至少从 MySQL 5.7.6 起,它可能会从托管系统上的 MySQL 安装中消失(作为二进制/shell 脚本):无论出于何种原因,如果您在尝试运行时收到此消息
mysqld_safe
:如果您的系统运行
systemd
(又名:)systemctl
,那么这绝对是现代答案,只需 4 个简单步骤即可解决您的问题!开始了!mysqld
并重新启动它MYSQLD_OPTS
:root
无需密码即可登录 MySQL:[password]
应将其更改为您希望设置的任何 MySQL 密码: 注意,我相信第一个FLUSH PRIVILEGES;
是连接启动 MySQL 并MYSQLD_OPTS
设置为--skip-grant-tables
. 无论如何,跑步FLUSH PRIVILEGES;
不会造成任何风险/危险。MYSQLD_OPTS
并重新启动 MySQL,如下所示:现在,完成所有操作后,尝试使用如下密码以 root 身份登录 MySQL:
点击Enter/ Return,然后输入您新设置的
root
密码,然后……瞧!您应该以root
!注意:我选择使用身份验证插件设置密码
caching_sha2_password
,但如果你想更现代,你可以使用mysql_native_password
如下: