MySQL的Root用户密码 您所在的位置:网站首页 默认的root密码 MySQL的Root用户密码

MySQL的Root用户密码

2023-11-08 21:43| 来源: 网络整理| 查看: 265

缘由:最近北京市二环内大兴土木,各种挖沟埋线。忽而一纸通令周末断电,故多年不断电的服务器,便令人有了关机后是否还能正常启动的隐忧。其中一台较年迈的服务器中搭载有MySQL数据库。数据库内容本属于外包项目不需要多操心,但时至于此,为了数据安全备份一下,顺便查看下数据库的结构什么的,也在情理之中。但无奈的是,部署时间过于久远,无人清楚root的密码,由此引发的一系列思考和操作,便记录于此。

MySQL数据结构

MySQL在安装的时候会默认构建一个叫mysql的数据库,其中有名为user的表,其中主要定义了访问数据库的用户名、密码以及CURD权限等。在访问MySQL的时候,会默认到user表里验证当前用户的信息是否匹配。

在首次安装MySQL的时候,默认会产生一个root用户,密码为空。权限固然是最大的,什么都能改,当然也是非常不安全的。所以一般安装之处都会给root设定一个密码。

Table user

HostUserPassword… localhost root *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 … % root *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 …

从表获取的*23AE809DDACAF96AF0FD78ED04B6A265E05AA257便是root用户的密码,只不过这是加密之后的,也就是说,直接输入这么一长串字符串,是不正确的。于是乎出现了下面的疑问:

在不知道密码的前提下,有方法知道root的密码么? 在不知道密码的前提下,有方法访问数据库么? MySQL加密方式

想要了解提出的疑问,首先还是先了解下MySQL的密文是怎么来的。MySQL内置有PASSWORD()函数,目的就是将明文转换为密文,于是简单做了个实验。

1SELECT PASSWORD('123')

结果:*23AE809DDACAF96AF0FD78ED04B6A265E05AA257

说明明文123对应的密文就是这串带*的字符串。(所以我就很Lucky的知道了root的密码)但这依旧不能解决疑问,还是要从原理入手,于是查到了MySQL的加密算法SHA-1(百度百科-SHA-1算法)。

算法过程这里不涉及,但是需要了解的是SHA-1加密算法有如下特性:

不可以从消息摘要中复原信息 两个不同的消息不会产生同样的消息摘要

简而言之,即使知道了密文,也没有办法通过算法的方式获取明文。这简直就是直接断了后路…可事实是Google在2017年时就已经宣布成功攻破SHA-1加密算法,只不过破解它需要的造价不是我等穷苦大众所能接受的。

现在网上也有很多的在线加密解密的工具,例如在线加密解密。但绝大部分在散列/哈希算法领域,也仅提供加密不提供解密。所以结论依旧是,没办法!。

退而求其次,终归是有办法让我们访问自己服务器上的数据库内容的吧?

无密码MySQL访问方法 在cmd中的mysql\bin文件夹下执行下面语句,用于跳过用户验证访问数据库。当然,如果本机有正在运行的mysql的服务需要先停掉。 1mysql\bin>mysqld --skip-grant-tables 然后打开另外一个cmd,同样在mysql\bin文件夹下执行mysql访问数据库。 1mysql\bin>mysql 访问名为mysql的数据库。 1mysql>use mysql;2database changed 查询user表中已有的用户(可以省略)。 1mysql>SELECT Host,User,Password FROM User; 如果要更改现有用户的密码,例如root@localhost。 1mysql>UPDATE user SET Password=PASSWORD('123') WHERE User='root' AND Host='localhost'; 现有的用户可能正在被某些应用使用,这种情况下可以只增加一个新的用户用于查看数据。 1mysql>INSERT INTO user (Host,User,Password) VALUES ('localhost','NewUser',PASSWORD('123'));

至此我们便有一个已知密码的用户,可以正常通过用户名密码访问数据库了。

扩展

SHA-1破解常用加密方式AES,DES,SHA-256,MD5,BASE64

有兴趣的请自行扩展咯



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有