在 Linux 中更改 MySQL root 密碼

要更改 MySQL 的 root 使用者密碼:

第 1 步: 停止 MySQL 伺服器。

  • 在 Ubuntu 或 Debian:
    sudo /etc/init.d/mysql stop
  • 在 CentOS,Fedora 或 Red Hat Enterprise Linux 中:
    sudo /etc/init.d/mysqld stop

第 2 步: 在沒有許可權系統的情況下啟動 MySQL 伺服器。

sudo mysqld_safe --skip-grant-tables &

或者,如果 mysqld_safe 不可用,

sudo mysqld --skip-grant-tables &

第 3 步: 連線到 MySQL 伺服器。

mysql -u root

步驟 4: 為 root 使用者設定新密碼。

Version > 5.7

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
exit;

Version <= 5.7

FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
FLUSH PRIVILEGES;
exit;

注意:在 MySQL 5.7.6 中引入了 ALTER USER 語法。

第 5 步: 重啟 MySQL 伺服器。

  • 在 Ubuntu 或 Debian:
    sudo /etc/init.d/mysql stop
    sudo /etc/init.d/mysql start
  • 在 CentOS,Fedora 或 Red Hat Enterprise Linux 中:
    sudo /etc/init.d/mysqld stop
    sudo /etc/init.d/mysqld start