【问题标题】:Is there a way to break into a PostgreSQL database if you forgot the password?如果您忘记密码,有没有办法闯入 PostgreSQL 数据库?
【发布时间】:2010-10-29 16:45:08
【问题描述】:

我有一个拥有 PostgreSQL 数据库的客户端,但他不记得我们在设置数据库时使用的密码。有没有办法恢复这些信息,这样我就不必炸毁他的数据库并从头开始?

数据库在 PC 上运行。

【问题讨论】:

  • 这在 serverfault.com 上不是更好吗?

标签: database postgresql password-recovery


【解决方案1】:

第一步:编辑PostgreSQL配置文件建立信任关系,无需密码登录:

vi /var/lib/pgsql/data/pg_hba.conf

旧线:

本地所有postgres密码

改成:

本地所有 postgres 信任

第 2 步: 重启 PostgreSQL 服务器:

服务 postgresql 重启

第 3 步:更改密码:

psql -U postgres template1 -c 用密码'newpassword'更改用户postgres;

第 4 步:密码已更新。恢复配置文件的原始设置:

vi /var/lib/pgsql/data/pg_hba.conf

旧线:

本地所有 postgres 信任

改成:

本地所有postgres密码

第 5 步:重启服务器并使用新密码访问 PostgreSQL 服务器。

服务 postgresql 重启

Source

【讨论】:

  • 这还能用吗? /var/lib/pgsql/data/ 目录在我的 Ubuntu 上不存在。
  • @why-el:在 Ubuntu 12.04 上,该文件位于 /etc/postgresql/<version>/main/pg_hba.conf 下。我确认此处列出的说明仍然有效。
【解决方案2】:

对于 9.2,在 Windows 中:

停止服务:

net stop postgresql-x64-9

修改配置文件, 更改 data/pg_hba.conf,基本上是 md5 以信任:

托管所有 127.0.0.1/32 信任

托管所有所有 ::1/128 信任

启动服务:

net start postgresql-x64-9

在 sql 控制台或使用 psql 执行 sql 语句以设置所需的密码:

使用密码“newpassword”更改用户 postgres;

放回原来的配置文件。

【讨论】:

    猜你喜欢
    • 2015-01-21
    • 2017-12-24
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 2013-12-18
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    相关资源
    最近更新 更多