服务器MySQL密码忘了怎么办?,root密码忘记如何重置?

忘记服务器 MySQL 密码不用重装数据库,Linux 下停掉服务、用跳过权限表的方式启动、改掉 root 密码再恢复正常启动,多数情况下十分钟左右就能解决。真正容易踩坑的地方不在命令本身,而在版本差异、改完之后应用配置没同步,以及忘记把临时开启的跳过权限参数关掉。

先判断你面对的是哪一类 MySQL 环境

同样叫“MySQL 密码忘了”,处理路径完全不同,动手前先对号入座,能少走很多弯路。

mysql忘记root密码,重置root密码
加载中
mysql忘记root密码,重置root密码
w
wumugo
3.5万--
原视频地址
  • 自建 Linux MySQL:有 SSH 和 root 权限,可以用 skip-grant-tables 或 --init-file 重置。
  • Windows Server 自建 MySQL:通过服务管理器停止服务,再用 mysqld --skip-grant-tables 启动。
  • 宝塔面板环境:面板本身有数据库管理入口,优先在面板里改 root 密码。
  • 云数据库 RDS:控制台提供重置密码功能,不需要登录服务器操作。
  • Docker 跑的 MySQL:要先进容器或挂载初始化脚本,不能直接套用宿主机命令。

先执行 mysql --version 看清版本号,MySQL 5.7 和 8.0 在改密语句、认证插件上差别不小,拿 5.7 的写法去改 8.0,很容易报语法错误。

Linux 服务器 MySQL root 密码忘记怎么重置

这是最常见的场景,整体思路是让数据库在不校验密码的状态下启动,改完密码再恢复正常启动。

停服务并做好备份

先停掉 MySQL 服务,避免数据文件在异常状态下被反复读写。

systemctl stop mysqld
# 部分系统服务名是 mysql
systemctl stop mysql

有条件的话,先把数据目录复制一份,/var/lib/mysql,重置密码本身不动数据,但生产环境留个退路总没错。

用跳过权限表的方式启动

编辑配置文件 /etc/my.cnf,在 [mysqld] 段落下加一行:

skip-grant-tables
skip-networking

skip-networking 的作用是只允许本机 socket 连接,防止重置期间外部有人连进来,保存后启动服务:

systemctl start mysqld
mysql -uroot

此时应该能直接进入 MySQL 命令行,不需要密码。

按版本执行改密语句

MySQL 5.7 的写法:

UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;

MySQL 8.0 的写法:在 skip-grant-tables 模式下直接执行 ALTER USER 可能报错,稳妥做法是先清空认证字符串,退出重启后再改。

UPDATE mysql.user SET authentication_string='' WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;

退出 MySQL,删掉配置文件里的 skip-grant-tables 和 skip-networking,重启服务后用空密码登录,再执行:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;

如果服务器开了 validate_password 插件,新密码太简单会被拒绝,这时要么换一个符合策略的密码,要么先临时调低策略再改。

验证并恢复

用 mysql -uroot -p 输入新密码登录,能进就说明重置成功,再执行 SHOW VARIABLES LIKE 'skip_networking'; 确认临时参数已经失效。

MySQL 8.0 忘记密码跳过权限表怎么操作更稳

0 的权限表结构和认证插件都变了,skip-grant-tables 下改密容易遇到“不能使用 ALTER USER”的提示,更推荐用 --init-file 方式,让数据库在启动时自动执行一条改密语句。

第一步,创建一个初始化 SQL 文件:

vi /root/mysql-init.sql

写一行:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

第二步,收紧文件权限并交给 mysql 用户:

chmod 600 /root/mysql-init.sql
chown mysql:mysql /root/mysql-init.sql

第三步,停掉服务,用初始化文件启动:

systemctl stop mysqld
mysqld --init-file=/root/mysql-init.sql --user=mysql &

启动完成后,新密码已经生效,删掉初始化文件,正常重启服务即可:

rm -f /root/mysql-init.sql
systemctl restart mysqld

这个方法的优点是全程不需要开放无密码登录窗口,生产环境更安全,缺点是对文件路径和属主要求严格,路径写错或权限不对,MySQL 会启动失败,记得看 /var/log/mysqld.log 里的报错。

MySQL 5.7 和 8.0 忘记密码重置差异对比

对比项 MySQL 5.7 MySQL 8.0
默认认证插件 mysql_native_password caching_sha2_password
改密常用语句 UPDATE mysql.user SET authentication_string=PASSWORD() ALTER USER ... IDENTIFIED BY
跳过权限表下能否直接 ALTER USER 一般可用 UPDATE 方式 容易受限,推荐 --init-file
密码策略插件 validate_password validate_password 组件
配置文件常见路径 /etc/my.cnf /etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf

行业共识认为,8.0 之后“改密码”这件事不只是换字符串,还要考虑认证插件与客户端驱动的兼容性,老项目连 8.0 报 Authentication plugin 'caching_sha2_password' cannot be loaded,往往就是插件没对齐。

宝塔面板和云服务器 MySQL 密码忘了怎么处理

宝塔面板环境优先用面板改

宝塔的数据库管理页面提供 root 密码修改入口,登录面板后进入“数据库”,找到 root 用户那一行,直接点修改即可,面板有本地权限,不需要走跳过权限表流程。

如果面板也进不去,才考虑用 SSH 按前面的 Linux 通用方法操作,改完之后回到面板的数据库页面确认密码状态,避免面板里存的还是旧密码。

云服务器自建库和云数据库要分开看

买的是云服务器、MySQL 自己装的,控制台不提供“重置数据库密码”按钮,只能通过 SSH 或 VNC 登录系统操作,方法和普通 Linux 一样。

买的是云数据库 RDS,直接在控制台的实例管理里点“重置密码”,按提示操作即可,通常即时生效,这类托管服务不开放系统层权限,别去套 skip-grant-tables。

找人重置大概要花多少钱

如果自己不方便操作,市场上代运维重置 MySQL 密码的价格从几十元到数百元不等,具体看环境复杂度和是否包含数据备份,价格不是关键,关键是别把 root 权限和数据库端口直接交给陌生人,稳妥做法是先打快照、临时改安全组只放行自己的 IP,处理完再恢复。

改完密码必须做的四件事

  • 删除临时初始化文件,确认 my.cnf 里的 skip-grant-tables 已移除。
  • 同步应用配置,WordPress 看 wp-config.php,Laravel 看 .env,ThinkPHP 看 database.php,改完重启 PHP-FPM 或应用进程。
  • 检查远程 root 账号,执行 SELECT User,Host FROM mysql.user;,确认没有多余的 root@%。
  • 更新密码保管方式,用密码管理器或配置中心存,别再靠记忆。

据工信部相关安全提示,数据库弱口令和默认口令一直是网络攻击的高频入口,密码重置不是终点,顺手把远程访问白名单和备份策略一起检查,才算真正收尾。

修改服务器 MySQL 密码忘记相关问答

忘记 MySQL 密码可以直接重装数据库吗

不建议,重装会清空数据目录,原有库表全部丢失,只要数据文件还在,密码都能通过跳过权限表或初始化文件的方式重置,重装应该是数据已经损坏且无法恢复时的最后手段。

修改服务器 MySQL 密码会影响正在运行的网站吗

会,数据库密码变了,应用配置里还是旧密码,网站就会报“数据库连接失败”,所以改密要和配置文件同步进行,改完立即重启 Web 服务,主从架构还要同步更新复制账号的密码,否则主从同步会中断。

重置后仍然提示 Access denied 怎么办

先确认连接的主机名和账号匹配,MySQL 的账号是 用户名@主机 组合,改的是 root@localhost,应用却从远程连 root@%,密码对了也会被拒,再看认证插件是否匹配,最后检查应用是否读到了新的配置文件,PHP 的 opcache 或容器环境变量都可能让旧配置继续生效。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/%e6%9c%8d%e5%8a%a1%e5%99%a8mysql%e5%af%86%e7%a0%81%e5%bf%98%e4%ba%86%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%9f%ef%bc%8croot%e5%af%86%e7%a0%81%e5%bf%98%e8%ae%b0%e5%a6%82%e4%bd%95%e9%87%8d%e7%bd%ae%ef%bc%9f/

赞 (0)
上一篇 2026年11月1日 01:08
下一篇 2026年11月1日 01:08

相关推荐

  • 用g口服务器做视频站需要怎么做,视频站服务器怎么选配置?

    g口服务器做视频站,核心不在“口子大”,而在“G口怎么用”——搭配切片分发和CDN缓存,1Gbps带宽能撑起一个中型视频站;如果裸奔直出视频流,再大的G口也会被流量打穿,g口服务器做视频站靠谱吗?先看懂G口不是“越大越好”很多站长第一次接触G口服务器,容易陷入一个误区:以为1Gbps带宽等于“无限流量随便跑……

    2026年10月9日
    100
  • 完全没有基础的人如何系统地自学ASP.NET开发?

    ASP.NET 自学完全可行且前景广阔,关键在于遵循科学路径、聚焦核心技能并坚持实践驱动,掌握 C# 基础、深入 ASP.NET Core 框架原理、构建全栈项目能力,是成为市场紧缺 .NET 开发者的高效路径, 科学规划:ASP.NET 自学的黄金路线图盲目学习效率低下,系统规划是成功基石,遵循这条被验证的路……

    2026年2月6日
    12500
  • 服务器D盘没有控制权限如何解决,权限不足怎么办

    服务器D盘没有控制权限的根源是NTFS权限或所有权配置异常,解决方式是使用管理员账户重置D盘根目录的所有权与权限继承关系,核心操作为右键属性修改或命令行强制接管,为什么D盘的控制权限会突然丢失多数情况下,D盘无控制权限并非系统故障,而是权限配置的“继承链”被意外中断,在Windows Server环境中,磁盘分……

    2026年10月15日
    000
  • AI知识库怎么搭建,企业如何构建私有AI知识库?

    构建企业级智能的核心在于将非结构化数据转化为可复用的资产,而AI知识库正是实现这一转型的关键基础设施,它不仅仅是文档的数字化存储,更是基于大语言模型(LLM)和向量检索技术,让企业数据“活起来”的智能中枢,通过构建高效的知识库,企业能够打破数据孤岛,实现精准的语义检索,并将原本沉睡的文档转化为直接辅助决策和生产……

    2026年2月23日
    13900
  • 服务器ddos云防护怎么防护?高防云服务器能防御DDOS攻击吗

    服务器DDoS云防护的核心在于构建“云端清洗+本地联动”的纵深防御体系,单纯依赖本地硬件防火墙已无法应对Tb级攻击,必须将防御重心上移至云端,通过智能调度和高防节点清洗,才能确保业务在极端攻击下依然连续可用,这不仅是技术架构的升级,更是安全理念的转变,即从“被动防御”转向“主动免疫”, 核心防御机制:流量清洗与……

    2026年4月8日
    8000
  • 监控4g流量卡怎么连接服务器,流量卡连接服务器教程?

    监控摄像头用4G流量卡连接服务器,核心路径就三步:给流量卡配上能上网的设备(4G路由或摄像机自带卡槽),在设备后台填对服务器域名和端口,再搞定IP和端口映射让服务器能找到摄像头,大多数人卡在第二步的域名格式和第三步的内网穿透上,下面把每一步的坑都拆开讲清楚,监控摄像头4g流量卡怎么连接服务器——完整操作分三步第……

    2026年10月11日
    000
  • 泽御云618云服务器低至3.99元是真的吗?香港云服务器推荐

    泽御云618期间香港云服务器拼团价低至3.99元,内蒙古节点享8折优惠,美国及香港4核4G配置年付仅需288元,是预算有限但追求高性能用户的最佳入手时机,在云计算市场竞争日益激烈的当下,寻找高性价比的服务器资源已成为许多开发者、中小企业站长以及跨境电商卖家的核心诉求,泽御云此次推出的618大促活动,并非简单的价……

    2026年7月8日
    12700
  • 找不到谷歌服务器IP地址怎么办,谷歌服务器IP地址怎么查

    找不到谷歌的服务器IP地址时,通常先确认是DNS解析失败还是网络链路被阻断,再通过查询公共DNS记录、修改hosts映射或切换网络环境三步解决,谷歌的服务器IP不像普通网站那样能直接通过浏览器看到,很多人都卡在第一步:不知道怎么查、查到了也不知道怎么用,下面这套方法按从简单到复杂的顺序排列,你跟着操作就能解决问……

    2026年10月6日
    000
  • PS4 2K20连接不上服务器怎么回事?,怎么解决

    PS4 2K20连接不上服务器通常是网络配置或服务器端问题,国内玩家优先检查NAT类型和DNS设置,多数情况下可通过手动配置DNS解决,PS4 2K20连不上服务器怎么办?先排查这几个常见原因遇到《NBA 2K20》PS4版连不上服务器,先别急着砸手柄,这个问题背后原因很集中,无非是本地网络环境、DNS解析、N……

    2026年7月22日
    2600
  • w7系统路由器虚拟服务器怎么设置,操作步骤是什么?

    win7系统设置路由器虚拟服务器,核心就是在路由器后台的“转发规则”或“虚拟服务器”功能里,把公网端口映射到你那台win7电脑的内网IP上,先确认你拥有公网IP,再给win7电脑绑定固定内网IP,最后填参数保存重启,三步就能搞定,很多朋友手里还留着老款win7电脑,想用它搭个网站、挂个NAS或者远程访问监控,结……

    2026年10月20日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注