Postgres使用ALTER USER命令修改用户的密码、密码过期,锁定,解锁

使用ALTER USER命令修改用户的密码、密码过期,锁定,解锁

(1)修改用户的口令,将用户的口令修改为新的密码

highgo=#create user test with password 'test';

CREATEROLE

highgo=#select usename,passwd from pg_shadow;

 usename |               passwd               

---------+-------------------------------------

 highgo | md5614aeb636ab143b790547ce463ec1741

 a      | md5039af99d1e9a4b194e0eb800a6f8d018

 b      | md583aeaa4e529325e234e9c5c2e01e6c08

 test   | md505a671c66aefea124cc08b76ea6d30bb

(4rows)

 

highgo=#ALTER USER test with password 'testnew';

ALTERROLE

highgo=#select usename,passwd from pg_shadow;

 usename |               passwd               

---------+-------------------------------------

 highgo | md5614aeb636ab143b790547ce463ec1741

 a      | md5039af99d1e9a4b194e0eb800a6f8d018

 b      | md583aeaa4e529325e234e9c5c2e01e6c08

 test   | md57c56448e70f764f1ca97ceae33823c9b

(4rows)

 

(2)设置用户口令过期,通过设置用户过期,这样该用户在下次登录的时候就必须要修改密码。     

highgo=#  select usename,valuntil from pg_shadow;

 usename | valuntil

---------+----------

 highgo |

 a      |

 b      |

 test   |

(4rows)

 

highgo=#alter user test with valid until '2017-4-4 12:48:00';

ALTERROLE

highgo=#select usename,valuntil from pg_shadow;

 usename |        valuntil       

---------+------------------------

 highgo |

 a      |

 b      |

 test   | 2017-04-04 12:48:00+08

(4rows)

此时远程使用test连接数据库将失败。

 

(3)锁定用户,将用户锁定之后,被锁定的用户是不能够再次登录到系统中。

highgo=#ALTER USER test nologin;

ALTERROLE

highgo=#\c highgo test

致命错误:  不允许角色"test"进行登录

致命错误:  不允许角色"test"进行登录

Previousconnection kept

highgo=#

 

(4)解锁用户,解锁用户的锁定状态。

highgo=#ALTER USER test login;

ALTERROLE

highgo=#\c highgo test

Youare now connected to database "highgo" as user "test".

highgo=>
<think>好的,用户的问题是关于新安装数据库的默认管理员密码是什么,想要找回。首先,我需要确定用户使用的是哪种数据库,因为不同数据库的默认情况差异很大。用户提供的引用中提到了MySQL、SQL Server,还有AgileController-Campus和Windows相关内容,但主要问题集中在数据库默认密码上。 首先,处理MySQL的情况。根据引用[2],MySQL在安装过程中通常会让用户设置root密码,没有默认密码。如果用户自己没设置过,可能需要检查安装时的步骤或者配置文件,或者尝试空密码。另外,如果用户完全忘记了,可能需要通过安全模式重置,比如使用--skip-grant-tables选项启动,然后更新密码。不过,这需要管理员权限和一定的操作步骤。 接下来是SQL Server的情况,引用[3]提到,安装时会要求设置sa账户的密码,没有默认值。如果用户忘记,可能需要通过Windows身份验证登录,然后修改sa密码,或者使用用户模式恢复权限。这也需要一定的技术操作,可能需要指导用户具体步骤。 另外,引用[1]和[4]提到的是其他系统的管理员密码恢复方法,比如AgileController-Campus和Windows本地账户,可能与用户的问题关联不大,但需要确认用户是否混淆了不同系统的密码问题。 用户可能刚安装了数据库,但不确定是哪种类型,所以需要分情况说明。需要提醒用户,大多数现代数据库不会设置默认密码,而是安装过程中必须由用户指定。如果用户确实没有设置过,可能需要检查安装日志或文档,或者尝试常见默认值,比如空密码或者root/root等,但可能性较低。 另外,用户可能遇到的情况是,某些特定版本或定制安装可能有默认密码,但这种情况较少见,尤其是出于安全考虑。因此,正确的做法是引导用户根据数据库类型进行相应的密码恢复或重置操作,而不是寻找默认密码。 最后,生成相关问题需要考虑用户可能遇到的后续问题,比如如何重置密码、不同数据库的密码恢复方法,以及如何避免密码丢失等,这有助于用户全面了解解决方案。</think>根据数据库类型不同,默认管理员密码的设置存在显著差异。以下是主流数据库的默认密码说明及找回方法: ### 一、MySQL数据库 1. **默认密码规则** - 5.7+版本安装时会在日志中生成随机临时密码,位于`/var/log/mysqld.log`(Linux)或错误日志文件(Windows) - 8.0+版本强制要求安装过程中设置root密码 - 未手动设置密码时可能允许空密码登录,需尝试命令: ```bash mysql -u root -p ``` 直接回车尝试空密码登录 2. **密码重置方法** ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword'; ``` 如遇权限问题需先停止服务并添加`--skip-grant-tables`启动参数[^2] ### 二、SQL Server数据库 1. **SA账户特性** - 安装时强制要求设置SA密码,无默认值 - 若忘记密码可通过Windows身份验证登录后重置: ```sql ALTER LOGIN sa WITH PASSWORD = 'NewPassword'; ``` 2. **紧急恢复流程** 通过`-m`参数启动单用户模式,使用DAC连接执行密码重置操作[^3] ### 三、Oracle数据库 1. **初始账户设置** - 安装时创建的SYS/SYSTEM账户密码需手动指定 - 18c后引入通用账户锁定策略,安装后需执行解锁操作 2. **特殊恢复场景** 使用`ORAPWD`工具重建密码文件: ```bash orapwd file=$ORACLE_HOME/dbs/orapwSID password=NewPassword entries=10 ``` ### 四、PostgreSQL数据库 1. **默认访问权限** - 初始配置允许本地peer认证 - 修改`pg_hba.conf`启用密码认证后需执行: ```sql ALTER USER postgres PASSWORD 'NewPassword'; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值