数据库密码忘了怎么办

数据库密码忘了怎么办,第1张

1、以SQL Server2008为例,首先以超级管理员administrator账户登录到电脑,然后打开据库SQL Server2008至登录界面。

2、然后选择windows身份验证(注意:必须是超级管理员账户哦,否则是无法使用windows身份验证登录的)。

3、登录进去后找到安全性菜单,然后在登录名中找到要修改的用户。双击账户d出修改密码的窗口,然后选择“常规”在密码输入框中重新输入密码即可。

情况一:只是忘记了密码

sp_password Null,'123,'sa'

把sa的密码设为“123”

执行成功后有“Command(s) completed successfully.” OK!

情况二:忘记了密码,而且从sysadmin中删除了builtin\Administrators帐号,现在没其他人是sysadmin了

A:

SQL Server 2005/2008提供了针对该情况的更好的灾难恢复方法,无需侵入master数据库,不会对master数据库中的对象和数据(例如登陆帐号,证书等)造成损坏。Windows管理员组的成员现在当SQL Server以单用户模式启动(另外一个名称为维护模式)的情况下对SQL Server有了访问权限。

通过使用单用户模式,SQL Server 2005/2008避免了Windows管理员以sysadmin的身份在不被发现的情况下滥用权限。Windows管理员帐号能进行部分维护任务,例如安装补丁等。

要将SQL Server以单用户模式启动,您可以在命令行模式下增加“-m”参数。您也可以使用SQL Server配置管理员工具。它提供了对文件访问和其他权限的合适控制。要是用配置管理工具来恢复您的系统,您可以根据如下步骤:

1. 从菜单->SQL Server 2005->配置,打开配置管理工具(SQL Server Configuration Manager)

2. 停止您想要恢复的SQL Server实例

3. 找到“高级”标签,“启动参数”选项文本框中增加“–m”

4. 点击“是”按钮,重新启动SQL Server实例

请注意:请确保在“”和“-m”之间没有空格。注册参数解析器对类似的输入错误非常敏感。您可以在SQL Server的ERRORLOG文件内看到显示“SQL Server started in single-user mode.”

5. 在SQL Server实例以单用户模式启动后,Windows管理员帐号就能使用sqlcmd工具在Windows验证模式下连接SQL Server。您可以使用T-SQL命令诸如“sp_addsrvrolemember”来在sysadmin服务器角色中添加现有登录帐号或新创建一个登录帐号。范例语句如下:

EXEC sp_addsrvrolemember 'CONTOSO\Buck', 'sysadmin'

GO

6. 只要sysadmin访问权限被恢复,在配置管理中从启动参数中移除“-m”参数,重新启动SQL Server实例

重要的安全提示:

a. 该过程应该只能被用于当没有其他方法使用特权帐号(例如sysadmin或等同角色)来访问系统的灾难恢复。

b. 该过程允许Windows管理员在SQL Server中有越权行为。它包含了可以被监测和检测出的明确的侵入行为,包含:

1. 在单用户模式下停止SQL Server并重启

2. 使用Windows帐号连接SQL Server。

MySQL密码忘了的 *** 作:

1.关闭MySQL数据库,因为root密码忘记了,mysqladmin无法使用,此时,只能通过killpid关闭程序。在这里,科普一下kill和kill-9的区别默认参数下,kill发送SIGTERM信号给进程。

告诉进程,你需要被关闭,请自行停止运行并退出。kill-9发送SIGKILL信号给进程,告诉进程,你被终结了,请立刻退出。与SIGTERM相比,这个信号不能被捕获或忽略,同时接收这个信号的进程在收到这个信号时不能执行任何清理所以。

万不得已,不要通过kill-9杀掉进程,这可能导致MySQL数据库的物理结构损坏,无法重新启动。

2.在my.cnf文件部分添加skip-grant-tables参数。

3.登录数据库,修改root账户的密码以下是修改root密码的三种方式:

1>mysql>setpasswordfor'root'@'localhost'=password('123')。无需刷新权限表。

2>mysql>updatemysql.usersetpassword=password("456")whereuser="root"andhost="localhost"。

mysql>flushprivileges3>#mysqladmin-urootpassword"123"。

4.关闭数据库,注释掉skip-grant-tables参数,重新启动数据库。上面这种方式虽然不错,但是有个问题,你必须重启数据库,对于线上环境,这可能是不被允许的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6920799.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存