在 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