在给定机器的物理访问权限的情况下获得对mysql的访问权限

时间:2013-07-18 23:09:00

标签: mysql

我拥有一台运行第三方软件的机器。我将数据输入到该软件中,并将该数据存储到自己的mysql数据库中。 我想直接查询mysql数据库,但我不知道应用程序正在使用的凭据

我对机器中的所有文件具有读写权限,包括mysql数据目录中的文件。从理论上讲,我应该能够直接从这些文件(.ibd和.frm文件)中读取数据。但实际上,我不知道从哪里开始。我认为这些数据文件有些可读,因为加密它们会破坏它们的索引能力。

这可行吗?或者我是否必须对数据文件格式进行反向工程才能读取它?

甚至更好 - 是否有一些我可以更改的配置文件会隐含地信任类似于postgres的所有本地连接?

3 个答案:

答案 0 :(得分:1)

您可以直接读取mysql文件,但即使它们现在已加密,列名也可能怪异,您可能需要花一些时间阅读它们。

另一点可能是从该软件中寻找配置文件,可能有登录名/密码(非常低概率,但谁知道?)

最好的是:

  1. 备份mysql文件

  2. 在另一个mysql安装/计算机中(为了不破坏您的软件),请按照reset mysql password guide

答案 1 :(得分:1)

尝试通过本地计算机上的命令行访问它:

shell> mysql db_name

(来自MySQL documentation

如果您需要从其他客户端软件进行连接,可以在此处创建自己的帐户。

或者你已经尝试过了吗?

答案 2 :(得分:1)

如果您具有运行MySQL的计算机的root访问权限,则可以按照以下步骤重置MySQL root密码:http://www.cyberciti.biz/tips/recover-mysql-root-password.html。一旦重置了root密码,就可以以root用户身份登录MySQL,访问任何数据库并查询它们。需要记住的唯一警告是,更改MySQL root密码可能会阻止您的应用程序访问MySQL数据库,但这应该是令人惊讶的,因为应用程序应该设计为使用MySQL用户帐户连接到数据库(具有有限的权限) )除了根MySQL用户。