上一主题: APM 数据库还原问题故障排除下一主题: 没有足够的数据库连接


忘记或丢失 APM 数据库密码

症状:

已使用 PostgreSQL 安装了 APM 数据库,但没有 PostgreSQL 密码。 丢失或忘记了密码。

解决方案:

以下过程适用于 PostgreSQL 安装。

请执行以下步骤:

  1. 在文本编辑器中打开 pg_hba.conf 文件。

    此文件位于 <Postgres_Home>/data 目录中。 例如 /opt/database/data。 在 Wily CEM 4.5.x 安装中,此位置为 /var/lib/pgsql/data。

  2. 在 pg_hba.conf 文件中,查找适用于 postgres 用户的行。 它类似于以下行:
    local	all	all	password
    

    local	all	postgres	md5
    

    网络用户适用的行以“host”开头,还提供 IP 地址和子网掩码:

    host 	all	postgres	10.255.255.10
    

    如果您的系统已配置为对所有用户都以相同方式进行身份验证,则会看到“all”,而不是用户名:

    local	all	all	md5
    

    注意:方法可设置成“md5”或“password”,也可设置成其他许多选项中的一个。

  3. 注释掉适用于所有用户或 postgres 用户的行,并添加以下行:
    local	all	postgres	ident sameuser
    

    上面一行允许您以 postgres 用户身份进行连接,而无需指定密码。 Local 仅用于 UNIX 域套接字连接。

    local	all	postgres	ident sameuser
    

    提示:复制要更改的行并对原来的行进行注释。

  4. 保存对 pg_hba.conf 文件所做的更改。
  5. 重新启动 postgres 服务。 您可在以下位置找到它:
    /etc/rc.d/init.d/
    
  6. 运行下列命令:
    service postgresql-8.4 restart
    
  7. 运行以下命令更改为 postgres 用户的 sudo 访问权限:
    su - postgres
    

    这允许您作为 postgres 用户运行命令。

  8. 启动 PostgreSQL 的命令行客户端 psql。 可以在 <Postgres_Home>/bin 或 <Postgres_Home>/pgAdmin3 中找到 psql。
    ./psql
    

    这会导致 psql 打开 PostgreSQL 数据库, 而不会提示您输入密码。 登录提示类似于:

    psql (8.4.5)
    可键入“help”来获取帮助。
    
    postgres=#
    
  9. 在 psql 命令提示符下,运行下列 psql 命令来更改数据库密码:
    ALTER USER postgres WITH ENCRYPTED PASSWORD 'password';
    

    Psql 会列出以下内容来指示成功:

    ALTER ROLE
    postgres=#
    
  10. 输入以下命令退出 psql:
    \q
    
  11. 重新打开 pg_hba.conf 文件并将其设置回原始设置。 使用 md5 或密码身份验证,但 md5 更安全。
  12. 再次重新启动 postgres 服务
  13. 为了进行测试,再次启动 psql。 系统应提示您输入(已重置的)密码。