Mysql

初始安裝後無法重置 MySQL 預設 root 密碼

  • April 21, 2020

我在 Red Hat Enterprise Linux 5.5 伺服器上安裝了 mysql 5.7,當我在安裝後嘗試執行以下命令時,它要求輸入 root@localhost 的密碼。

/usr/bin/mysql_secure_installation

我從未設置過 root 密碼,我以 root 使用者身份登錄 Linux。

然後我找到了以下用於重置 root 密碼的文件,並且也遵循了該文件。

https://dev.mysql.com/doc/refman/5.5/en/resetting-permissions.html

但即使在使用以下命令啟動伺服器後,它也會要求輸入密碼

/etc/init.d/mysqld start --skip-grant-tables &

我嘗試使用init-file選項啟動伺服器,但沒有成功。

有誰知道如何正確重置密碼或預設 MySQL 密碼?

重新啟動服務而不進行身份驗證

Ubuntu/Debian

service mysql stop
service mysql start --skip-grant-tables --skip-networking

其他系統

如果你在sysvLinux 上使用這個

/etc/init.d/mysqld stop
/etc/init.d/mysqld start --skip-grant-tables --skip-networking &

重置

然後你需要登錄為root

mysql -u root -p

然後登錄時執行

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

其他指南的區別

為了清楚起見,有很多“指南”,

  • 一些指南使用較舊的SET PASSWORD語法,即 5-7.6 之前的語法,不要再使用了。
  • 有些指南根本不使用--skip-networking,這是不安全的。
  • -u root有些指南與更容易出錯的指南沒有聯繫。

引用自:https://dba.stackexchange.com/questions/193854