mysql修改root密码,不同版本常用方法

首页 2025-09-15 14:45:57


在 MySQL 中修改 root 密码的方法有多种,根据是否记得当前密码以及 MySQL 版本略有不同,以下是常用的方法:

方法 1:已知当前密码时修改

如果记得当前 root 密码,可以直接登录 MySQL 后修改:

sql
-- 登录 MySQL
mysql -u root -p

-- MySQL 5.7.6 及以上版本(包括 8.0+)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

-- MySQL 5.7.5 及更早版本
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');

-- 刷新权限(某些版本需要)
FLUSH PRIVILEGES;
 

方法 2:忘记密码时重置(Linux 系统)

如果忘记了 root 密码,可以通过以下步骤重置:

  1. 停止 MySQL 服务

bash
sudo systemctl stop mysqld  # 或 mysql
 

  1. 以跳过权限验证的方式启动 MySQL

bash
sudo mysqld_safe --skip-grant-tables &
 

  1. 无密码登录 MySQL

bash
mysql -u root
 

  1. 修改密码

sql
-- 切换到 mysql 系统数据库
USE mysql;

-- MySQL 5.7.6 及以上版本
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

-- MySQL 5.7.5 及更早版本
UPDATE user SET password = PASSWORD('新密码') WHERE user = 'root' AND host = 'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

-- 退出
EXIT;
 

  1. 重启 MySQL 服务

bash
sudo systemctl stop mysqld  # 先停止安全模式的进程
sudo systemctl start mysqld # 正常启动
 

方法 3:Windows 系统忘记密码时重置

  1. 停止 MySQL 服务(可在服务管理器中操作或使用命令)

cmd
net stop mysql
 

  1. 打开命令提示符,切换到 MySQL 的 bin 目录

cmd
cd C:\Program Files\MySQL\MySQL Server X.X\bin
 

  1. 跳过权限验证启动

cmd
mysqld --skip-grant-tables
 

  1. 另开一个命令提示符窗口,无密码登录

cmd
mysql -u root
 

  1. 后续步骤同 Linux 方法中的第 4 步(修改密码、刷新权限)
  2. 关闭所有 MySQL 进程,正常启动服务

cmd
net start mysql
 

注意事项

  • 密码应包含大小写字母、数字和特殊字符,提高安全性
  • MySQL 8.0 以上版本默认使用 caching_sha2_password 认证插件,某些客户端可能不支持,可指定旧插件:
    sql
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
    
     
  • 若 root 账户允许远程连接(host 为 %),修改时需指定对应的 host

修改完成后,使用新密码登录验证是否生效:

bash
mysql -u root -p
 

然后输入新密码测试登录。
 
nat123映射怎么用?超详细步骤,外网访问内网轻松搞定
nat123域名怎么用?两种方式轻松搞定
nat123怎么用?简单几步实现内网穿透
内网穿透工具对比:nat123、花生壳与轻量新选择
远程访问内网很简单:用对工具,一“箭”穿透
ngrok下载完全指南:从入门到获取客户端
内网远程桌面软件:穿透局域网边界的数字窗口
从外网远程访问内网服务器的完整方案
Windows Server 2008端口转发完全教程:netsh命令添加/查看/删除/重置
为什么三层交换机转发比Linux服务器快?转发表硬件加速的秘密