postgresql 密码修改,忘记密码进行修改重置

postgresql 密码修改,忘记密码进行修改重置

  • 1、密码修改缘由
  • 2、修改密码的方式
    • 方式1
    • 方式2
  • 3、忘记密码重置

1、密码修改缘由

1、客户端认证方式为密码验证,设置初始密码,则会涉及到修改密码
2、忘记了数据库登录密码,则会涉及到修改密码

2、修改密码的方式

方式1

安全地修改密码:

使用psql,连接到Postgres Server:

1、远程ssh连接到服务器

ssh [email protected] 
# 命令使用参数说明:

NAME
     ssh — OpenSSH SSH client (remote login program)

SYNOPSIS
     ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file]
         [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-J [user@]host[:port]] [-L address]
         [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
         [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] [user@]hostname [command]

2、切换到postgres用户

su postgres

3、连接数据库

psql -p 5432 -h localhost 
pguser=> \password
Enter new password:
Enter it again:
pguser=>

我将原密码123456,修改为u123456
这种修改方式相当于向Postgres Server 发送了如下命令:

ALTER USER postgres PASSWORD ' bebd6e154c9e92bcb8f7228384b1ba30' ;

后面的字符串是 u123456经过md5加密后的字符串

注意:为避免字典攻击,建议使用复杂认证密码。

方式2

可以直接发送sql修改:

这种方式不仅仅限于psql了,其余客户端也能修改,如pgAdmin,navicat,DBeaver等

ALTER USER pguser PASSWORD 'password123'

弊端:通过sql修改,有可能会将修改语句记录在相关工具的log里。
例如:通过psql 运行该条sql,则在.psql_history文件中会有相应语句的记录
有密码泄露的风险

3、忘记密码重置

解决方法:

1、关闭数据库服务

2、进入数据库的工作空间目录 (postgresql目录下的 data 目录)

3、编辑修改文件 pg_hba.conf, 把连接权限设置的 md5 加密方式 改成 trust

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5

在这里插入图片描述

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust

4、重新启动postgresql数据库服务

5、可以不用密码就能用postgres用户登陆,然后执行修改用户密码的操作

alter user postgres with password 'password12345';

6、修改 pg_hba.conf 文件,改回到 md5 方式

7、重启数据库服务

你可能感兴趣的:(系统运维,CentOS,数据库,数据库,linux,sql,postgresql,ssh)