前段时间本地搭建后端测试环境,数据库突然登不进去,完全记不清当初安装留存的账号信息,急着调试接口的情况下,只能实打实研究如何查看mysql的用户名和密码,原本以为是很复杂的操作,结果踩了一堆没必要的坑,才摸透了最简单的实操方式。
最开始完全走了弯路,总想着靠记忆试密码,反复在MySQL客户端输入root、空密码、123456这些常用组合,次次弹出登录失败的提示。那会脑子很轴,认定密码是自己修改后遗忘的,压根没考虑系统会留存原始配置,就这么反复试了十几分钟,白白浪费了不少时间,进度直接卡在数据库登录这一步。
网上的教程鱼龙混杂,很多内容要么是教重置密码,要么是针对服务器端的复杂指令,完全不适合本地单机使用,越看越混乱,根本找不到适配自己电脑版本的方法。
折腾好久才搞明白,本地安装的MySQL,用户名大概率默认是root,想要精准查看全部账号和原始密码,优先找本地配置文件是最稳妥的方式。Windows系统的MySQL配置文件是my.ini,一般藏在隐藏的ProgramData文件夹里,Linux系统则是my.cnf文件,打开文件后下滑找到[mysqld]配置区块,部分低版本数据库会直接在对应字段展示user和password的明文信息,不用任何解密操作,直接就能看到初始设置的mysql用户名和密码。
找隐藏文件夹的过程又卡了一阵。系统默认会隐藏系统配置文件夹,正常浏览目录根本看不到,一开始翻遍了安装MySQL的根目录,只找到程序启动文件,死活找不到核心配置文件。后来才想起要在文件夹查看设置里,勾选隐藏项目,才成功调出了存放配置文件的目录。
不是所有MySQL版本都能在配置文件里看到明文密码,新版本为了安全,会把密码做简单加密处理,直接查看配置文件是看不到密码内容的。
这点是很多教程不会说的细节。
看不到明文密码也不用纠结,没必要死磕查看原有密码,换个思路就能解决。打开电脑命令提示符,输入对应指令跳过密码验证登录数据库,进入数据库后台后,执行固定的查询语句,就能一键查出本机所有的MySQL用户名,包括自建的测试账号、默认管理员账号,所有账号信息都会清晰罗列出来,不会有遗漏。密码虽然无法直接查看明文,但可以直接重置,比费力破解原有密码要高效得多。
当时靠着这个方法,几分钟就查清了本机所有MySQL用户名,重置了登录密码,顺利登录数据库完成了环境调试。忙活完所有配置的时候,电脑屏幕还停留在命令行的查询结果页面,密密麻麻的账号参数看得人眼花。