几种数据库忘记密码的处理方法

发布时间 2023-12-01 13:43:40作者: 济南小老虎

几种数据库忘记密码的处理方法


MySQL8.0

分为rpm方式 和tar.gz 安装方式不同而不同
需要修改 /etc/my.conf 配置文件.
注意如果是rpm包的话就在这个路径下面
修改增加内容
skip-grant-tables

注意修改完需要重启数据库
rpm包安装的方式 重启方法为:
systemctl restart mysqld 
然后可以无密码登录数据
mysql -uroot -p
回车就可以了
但是需要注意, 这种情况下是无法修改密码的.只可以将密码置空
update user set authentication_string='' where user='root';
需要注意, 这个密码会把 root@'%' 和 root@'localhost' 两个用户都置为空. 
置空之后需要 住调调增加的 skip-grant-tables
然后重启数据库
systemctl restart mysqld 
然后进入修改密码:
alter user root@'%' identified with mysql_native_password BY 'YourPasswrod';
alter user root@'localhost' identified with mysql_native_password BY 'YourPasswrod';

如果是tar包安装的话 配置文件的路径和启动方式略有区别, 其他的一样. 

PG数据库

PG数据库的修改比较简单
一般是修改 pg_hba.conf 里面的 认证模式
修改为 trust 
注意不能修改 0.0.0.0/0 的为trust 太危险了. 

然后重启数据库 再使用命令就可以了
一般命令为 
alter user username with password 'SomePassword'

SQLServer

SQLServer 数据库 在安装时如果选择了双重认证, 系统管理也可以登录的话就比较简单
使用 windows管理员登录. 
然后修改sa 的密码
ALTER LOGIN sa WITH PASSWORD = 'new_password';

据说如果系统管理员不是 默认账户是 可以使用 -m 启动的方式来进行登录
net stop mssqlserver
net start mssqlserver /m
可以使用 sqlcmd 直接登录在修改. 
sqlcmd -e -s .

Oracle数据库

默认Oracle用户都是系统管理员,可以直接sqlplus / as sysdba的方式进行登录. 

这个好像没有特别好的办法, 如果有没有oracle用户  比较难以处理

sqlplus / as sysdba
alter user someusername  identified by xxxxxxx