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
 

然后输入新密码测试登录。
 
MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道