我拥有一台运行第三方软件的机器。我将数据输入到该软件中,并将该数据存储到自己的mysql数据库中。 我想直接查询mysql数据库,但我不知道应用程序正在使用的凭据。
我对机器中的所有文件具有读写权限,包括mysql数据目录中的文件。从理论上讲,我应该能够直接从这些文件(.ibd和.frm文件)中读取数据。但实际上,我不知道从哪里开始。我认为这些数据文件有些可读,因为加密它们会破坏它们的索引能力。
这可行吗?或者我是否必须对数据文件格式进行反向工程才能读取它?
甚至更好 - 是否有一些我可以更改的配置文件会隐含地信任类似于postgres的所有本地连接?
答案 0 :(得分:1)
您可以直接读取mysql文件,但即使它们现在已加密,列名也可能怪异,您可能需要花一些时间阅读它们。
另一点可能是从该软件中寻找配置文件,可能有登录名/密码(非常低概率,但谁知道?)
最好的是:
备份mysql文件
在另一个mysql安装/计算机中(为了不破坏您的软件),请按照reset mysql password guide
答案 1 :(得分:1)
尝试通过本地计算机上的命令行访问它:
shell> mysql db_name
如果您需要从其他客户端软件进行连接,可以在此处创建自己的帐户。
或者你已经尝试过了吗?
答案 2 :(得分:1)
如果您具有运行MySQL的计算机的root访问权限,则可以按照以下步骤重置MySQL root密码:http://www.cyberciti.biz/tips/recover-mysql-root-password.html。一旦重置了root密码,就可以以root用户身份登录MySQL,访问任何数据库并查询它们。需要记住的唯一警告是,更改MySQL root密码可能会阻止您的应用程序访问MySQL数据库,但这应该是令人惊讶的,因为应用程序应该设计为使用MySQL用户帐户连接到数据库(具有有限的权限) )除了根MySQL用户。