1

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

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

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

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

4

3 回答 3

1

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

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

最好的是:

  1. 备份mysql文件

  2. 在另一台 mysql 安装/计算机中(不要破坏您的软件),按照重置 mysql 密码指南进行操作

于 2013-07-18T23:13:00.383 回答
1

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

于 2013-07-19T01:02:41.923 回答
1

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

shell> mysql db_name

(来自MySQL 文档

如果您需要从其他客户端软件连接,您可以从这里创建自己的帐户。

或者你已经尝试过了?

于 2013-07-19T00:20:46.307 回答