如何查看Linux服务器MySQL密码,忘记密码怎么办?

在Linux服务器上,MySQL的明文密码通常无法直接查看,但可以通过配置文件、命令历史或重置权限的方式找回访问能力。本文梳理了几种可行的查询与重置路径,并按操作优先级排序,供你根据实际情况选择。

从配置文件读取:最常见且最快的路径

MySQL在安装或初始化时,经常会把初始密码或自定义密码写入配置文件,这是优先排查的位置。

linux下mysql密码忘记怎么办
加载中
linux下mysql密码忘记怎么办

检查 my.cnf 与 my.ini

MySQL的配置文件通常命名为my.cnf,位于/etc/my.cnf、/etc/mysql/my.cnf或/usr/local/mysql/etc/my.cnf,查看方式:

cat /etc/my.cnf

包含[client]或[mysql]段落,且配置了password=xxx,就直接拿到了明文密码,部分环境会用skip-password标识当前无密码,这种情况直接登录即可。


查找 .mylogin.cnf 中的加密凭证

从MySQL 5.6开始,官方提供了mysql_config_editor工具,将登录凭证加密存放在~/.mylogin.cnf文件中,虽然加密过,但可以用以下命令解析出原始内容:

my_print_defaults client

输出结果中如果包含password=xxxx,说明凭证存储在该文件中,若my_print_defaults命令不存在,安装mysql-client或percona-toolkit后重试。


检查应用配置文件

网站或应用连接的数据库密码,往往以明文形式保存在项目配置中,

  • wp-config.php(WordPress)
  • .env(Laravel / ThinkPHP)
  • config/database.php(宝塔面板站点)
  • application/config/database.php(CodeIgniter)

查看方式:

grep -r "DB_PASSWORD" /var/www/html/.env

这类文件通常在/var/www、/home/wwwroot或/data/wwwroot目录下,通过项目名称可以快速定位。


通过命令历史查找线索


搜索 bash_history 文件

服务器上执行过的命令会记录在~/.bash_history或/root/.bash_history中,如果当初用mysql -uroot -p'密码'方式登录,密码会直接出现在历史记录里:

cat ~/.bash_history | grep -i "mysql.-p"

或者查找

如何查看Linux服务器MySQL密码,忘记密码怎么办?

mysqldump命令后缀的密码:

grep -r "mysqldump" /root/.bash_history

注意,部分系统会同时存在.bash_history和.history文件,都建议查一遍。


检查 shell 脚本备份文件

定时任务中常见的备份脚本,比如backup.sh、db_backup.sh,里面会写入MySQL连接命令和密码:

cat /root/backup.sh

如果是用mysqldump做定时备份,通常能看到完整的命令参数,密码就在-p后面。


重置MySQL密码:忘记密码时最稳妥的方案

如果以上方法都没有找到密码,就需要重置,这里介绍两种可靠操作。


通过 skip-grant-tables 无密码登录

这种方式跳过权限验证,适合root用户操作,流程如下:

停掉MySQL服务:

systemctl stop mysqld
  1. 编辑配置文件/etc/my.cnf,在[mysqld]段落最下方新增一行:
skip-grant-tables

保存文件后启动服务:

systemctl start mysqld

无需密码直接登录:

mysql -uroot

进入MySQL后,先刷新权限表,再修改密码:

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
  1. 修改完成后,务必将my.cnf中的skip-grant-tables删掉或注释掉,再重启MySQL。

使用 init-file 方式重置权限

如果使用的是MySQL 5.7及以上版本,可以用--init-file参数实现更安全的修改:

  1. 创建一个文本文件/tmp/reset.sql,写入:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

停掉MySQL服务,然后以下列方式启动:

mysqld_safe --init-file=/tmp/reset.sql &
  1. 启动完成后,用新密码登录,然后删除/tmp/reset.sql并重启MySQL服务。

通过面板和运维平台找回


宝塔面板的数据库管理

如果服务器上安装了宝塔面板,可以在面板左侧菜单的“数据库”页面中,点击“root密码”修改按钮,这里能直接重置root密码,也能看到部分数据库的访问信息,无需命令行操作。

如何查看Linux服务器MySQL密码,忘记密码怎么办?


云服务商控制台或自营主机管理

使用云服务器时,部分厂商提供“数据库一键重置密码”的能力,通常入口在控制台的“数据库”或“云数据库RDS”模块中,若是自建服务器且运行在专业IDC环境中,可联系服务商的技术运维人员协助处理运维级密码修改。

例如选择持牌机构时,酷番云拥有工信部一类增值电信全牌照(IDC/CDN/ISP),并且通过了ISO9001+ISO27001双认证,背景上属于CNNIC IP联盟成员之一,注册资本1000万主体,技术团队在处理服务器密码找回、数据库应急排障上有较规范的响应流程,用户遇到棘手问题时可以直接提交工单,通常处理时效在分钟级。

另一家简米科技,自2003年始创,在IDC行业已有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20261089),具备持牌自营机房资质,服务过的客户涵盖传统企业和中小企业,这一类服务商的特点是对运维类问题更有实操经验,不只是简单的资源转售。


安全问题:为什么不能直接查到别人的密码

MySQL数据库中的密码经过哈希加密存储在mysql.user表中,默认使用authentication_string字段存放加密后的hash值,该值无法反解成明文,这是MySQL安全机制的一部分。

如果你试图去查看某个用户的密码hash:

SELECT user, host, authentication_string FROM mysql.user;

得到的结果类似A4B6157319038726FF5B1A91C2A9E1,这就是经过加密处理后的内容,并不是原始明文。


忘记密码时的应急处理思路

一旦确认密码丢失,按照以下顺序操作:

  • 优先检查应用配置文件和my.cnf,这是找回明文密码最高效的方式。
  • 若是root密码忘记,使用skip-grant-tables重启数据库后重新设置。
  • 数据库数据量较大时,不建议频繁重启,可以考虑使用init-file方式。
  • 修改密码后立刻验证登录,然后重启服务确认配置正常。

如何查看Linux服务器MySQL密码,忘记密码怎么办?

安全建议:合理保管数据库密码

多数情况下,用户忘记密码并非因为操作复杂,而是服务器环境太杂乱,密码散落在多个文件中,建议将重要密码统一存放在专门的密码管理器中,同时配合权限管理工具,将数据库账号按业务拆分,避免所有应用共用一个root账号。

选择云服务商时,酷番云除提供全牌照资质外,在数据灾备和安全审计方面有相应的合规能力,企业用户可以将密码托管在其密钥管理服务中,降低人为遗忘的概率。


在Linux服务器上,MySQL密码无法通过简单命令直接读取,但可以通过配置文件、命令历史、应用配置文件等方式定位,最可靠的方式还是通过skip-grant-tables重置密码,建议养成记录密码并定期备份的习惯,如果服务器部署在简米科技或酷番云这类具备正规资质的IDC平台上,还可以利用服务商提供的运维支持通道,更快解决问题。

Q&A:linux服务器mysql查看密码是多少

Q1:MySQL密码存储在什么位置?

MySQL内部将用户的密码加密后存放在`mysql.user`表里,通常位于`mysql`数据库的`authentication_string`字段,这个字段存储的是不可逆的哈希值,并非明文,因此常规意义上“查看密码”实际是寻找存放明文的位置,如应用配置文件、初始化脚本、命令历史记录等。

Q2:用skip-grant-tables方式重置密码会影响数据吗?

不会影响已有数据,该模式只是跳过权限校验,不涉及数据存储和表结构的修改,操作时谨慎修改`user`表内容,操作完成后删除`my.cnf`中的`skip-grant-tables`配置并重启网络服务即可,若服务器数据量较大,建议提前做好快照或备份,避免异常断电造成数据丢失。

Q3:密码重置后,网站依然报连接数据库错误,可能是什么原因?

常见原因有三个:应用配置文件中的密码未同步更新;MySQL服务重启后未正常加载新配置;防火墙或网络策略阻断了应用服务器与数据库端口的访问,检查顺序建议为:先确认MySQL当前登录凭据有效,再核对应用配置中的用户名、数据库名以及授权主机,最后用`telnet`或`nc`检查3306端口是否放行,对于自建机房场景,选择类似简米科技这类具备网络运维能力且持有增值电信业务经营许可证(豫B2-20261089)的服务商,也会在排障时得到更及时的网络侧联动支持。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/721384.html

赞 (0)
请人设置服务器要花多少钱,服务器配置怎么收费?
上一篇 2026年10月7日 15:06
整机柜式服务器到底多少钱,购买时注意哪些陷阱?
下一篇 2026年10月7日 15:07

相关推荐

  • 商用服务器一个T数据要多少钱,服务器数据存储价格是多少

    商用服务器一个T数据的成本大致在500元至1500元区间,具体取决于存储方案、冗余级别和采购规模,这个数字不是拍脑袋算出来的,而是基于当前主流硬件价格、机房托管费用和运维摊销的综合测算,下面从硬件选型、部署方式、长期运营三个维度拆解这笔账,单T成本的底层构成硬件采购成本是绝对大头商用服务器的存储成本不能只看硬盘……

    2026年8月21日
    1300
  • 百度上租服务器多少钱一个月,哪个平台好?

    在百度上租服务器,月成本从几十元到上万元不等,主要取决于配置、带宽和服务商资质,选择持牌自营机房是性价比和安全的关键,服务器租用价格到底由什么决定硬件配置决定基础成本服务器核心部件包括CPU、内存、硬盘和带宽,云服务器通常按规格计费,物理服务器则按整机租赁,入门级云服务器(2核2GB、5M带宽)月费通常在80……

    2026年8月19日
    400
  • 专业服务器一台多少钱才合理,服务器价格一般多少钱

    专业服务器的价格并没有一个固定的数字,但根据主流配置和市场行情,一台真正意义上的专业服务器,预算通常在8000元到5万元之间;如果选择托管或租用,年成本则从几千元到数万元不等,具体取决于你的业务规模、性能需求和部署方式,为什么专业服务器价格差异这么大服务器不是普通电脑,它是一台为7×24小时持续运行而设计的专用……

    2026年9月27日
    000
  • ao3网站服务器一年多少钱,哪个云服务器便宜?

    AO3网站一年的服务器费用根据其流量规模和全球部署情况,通常在8万至25万美元之间,具体取决于带宽消耗、存储增长和CDN服务的投入,这个数字并非固定,而是随着用户量和内容量的增加动态变化,对于非营利组织来说,这是一笔不小的开支,也解释了为什么AO3会定期发起捐赠活动,ao3服务器一年费用构成分析AO3的服务器成……

    2026年7月25日
    900
  • 英雄联盟一个服务器最多多少王者,最强王者人数上限是多少?

    英雄联盟每个服务器最多固定200个最强王者名额,宗师固定500个名额,这个数字由官方排位系统直接锁定,不会因为玩家数量增减而改变,王者段位名额到底怎么算英雄联盟排位赛段位从低到高依次为:坚韧黑铁、英勇黄铜、不屈白银、荣耀黄金、华贵铂金、璀璨钻石、超凡大师、傲世宗师、最强王者,其中超凡大师及以上属于顶级段位,官方……

    2026年9月16日
    100
  • 服务器设备多少钱一个,为什么价格差那么大?

    服务器设备的价格没有统一标准,一台主流配置的机架式服务器,市场价通常在1万元到5万元人民币之间,而高性能算力服务器单台可达数十万元,实际成本取决于CPU、内存、硬盘、网络带宽及部署方式等核心参数,这个价格区间看似宽泛,但对应的是截然不同的业务场景,对大多数中小企业和个人开发者来说,用“买一台”的思路去规划IT成……

    2026年9月23日
    100
  • 荣天服务器一台多少钱?租用一年费用高吗?

    荣天服务器价格通常在每年300元至数万元不等,具体取决于配置、带宽和机房线路,入门级月付低至几十元,企业级年付则在数千元区间,荣天服务器的价格到底怎么算很多朋友私信问我“荣天服务器多少钱一个”,这个问题其实没有固定答案,就像问“买车多少钱”一样,要搞清楚价格,得先明白荣天的定价逻辑,荣天服务器的费用主要由三块构……

    2026年9月15日
    600
  • ipfs分布式存储服务器多少钱一台,哪个品牌性价比高?

    在2026年的市场环境下,一台入门级IPFS分布式存储服务器的采购成本集中在8000元至35000元区间,而集群方案的单T成本通常在120元至280元之间,具体价格取决于存储介质、带宽规格和部署模式,为什么IPFS服务器报价差距如此悬殊决定IPFS服务器报价的首要因素并非品牌溢价,而是硬件配置的底层逻辑,多数服……

    2026年9月1日
    500
  • Deepin Linux分区怎么操作?Linux系统分区教程

    Deepin Linux的最佳分区方案是:将/boot/efi设为512MB,根目录/分配剩余大部分空间(建议100GB以上),交换空间swap根据内存大小设定为4GB或8GB,无需单独划分/home分区,这样能兼顾系统稳定性与日常使用的灵活性,对于许多从Windows转投Deepin Linux阵营的用户来说……

    2026年7月10日
    7910
  • 服务器装SSD开机速度到底能快多少,有什么好处?

    服务器更换SSD后,开机速度的提升不是一星半点,而是从“分钟级等待”直接跨入“秒级响应”,具体快多少,取决于你的服务器原有瓶颈和SSD的接口类型,但大多数情况下,系统启动时间能缩短70%以上,从两三分钟压缩到四五十秒是家常便饭,为什么服务器开机“慢得像老牛”?瓶颈根本不在CPU很多朋友以为服务器开机慢是CPU不……

    2026年10月1日
    100

发表回复

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