2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > postgresql 密码修改 忘记密码进行修改重置

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

时间:2022-10-10 18:02:57

相关推荐

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

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

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

1、密码修改缘由

1、客户端认证方式为密码验证,设置初始密码,则会涉及到修改密码

2、忘记了数据库登录密码,则会涉及到修改密码

2、修改密码的方式

方式1

安全地修改密码:

使用psql,连接到Postgres Server:

1、远程ssh连接到服务器

ssh user@192.168.0.100

# 命令使用参数说明:NAMEssh — OpenSSH SSH client (remote login program)SYNOPSISssh [-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=> \passwordEnter 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 onlylocal 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 onlylocal 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、重启数据库服务

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。