sql身份验证密码怎么复制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql身份验证密码怎么复制相关的知识,希望对你有一定的参考价值。

我的SQL身份验证密码忘记了,请问一下怎么能把它复制出来,谢了!

首先,假定你所使用的数据库是mysql,并且你所指的用户密码是root密码。
其次,mysql的用户密码都是经过加密后的,即使复制出来,你也无法获得密码明文。除非你突然想起来了。因此,只能想办法重置root密码。

如要重置root密码,请按如下步骤处理:

MySQL根用户root密码忘记后的处理方法:
1.以管理员的身份登录到windows系统,
2.用windows服务管理工具或任务管理器来停止MySQL服务
3.建立一个单行的文本文件,保存为c:\\mysql\\pwdhf.txt,内容是SET PASSWORD FOR \'root\'@\'localhost\' = PASSWORD(\'MyNewPassword\');
4.打开一个控制台窗口,得到DOS命令提示符
5.假设你的MySQL主目录是C:/mysql/bin,则运行c:\\mysql\\bin\\mysqld-nt --init-file=c:\\mysql\\pwdhf.txt,如果是用安装精灵安装的MySQL数据库服务器,则需要通过服务管理工具来做改动,需要找到并添加默认设置文件,然后运行mysqld-nt --defaults-file="path\\my.ini" --init-file=c:\\mysql\\pwdhf.txt
6.停止MySQL数据库服务,然后再重新以正常模式启动MYSQL
7.正常登录到服务器.

mysql重置root密码的其他情况,详见http://hi.baidu.com/szmneo/blog/item/6d08bb7be2ee22e52e73b311.html
参考技术A 复制不出来吧,可以用系统方式进入,到安全性用户里面把密码强制改掉

针对 SQL Server 的自定义 winforms 身份验证:如何处理密码过期?

【中文标题】针对 SQL Server 的自定义 winforms 身份验证:如何处理密码过期?【英文标题】:Custom winforms authentication against SQL Server: how to handle password expiration? 【发布时间】:2011-12-14 14:29:46 【问题描述】:

我们有一个基于 Winforms 和 Entity Framework 4.2(代码优先)和 SQLServer 2008 R2 构建的项目。

在这个项目中,用户必须使用他们的用户名/密码(从登录屏幕)对 SQL Server 进行身份验证。

因此不会有“主”或“系统”用户,也不会有检索/比较用户名/密码的查询:该过程已经通过登录 SQL Server 完成。 用户将拥有自己的 SQL 用户帐户,并且应该在应用程序中进行处理。

但是,我们遇到了密码过期政策,这让我们陷入了困境。 我们该如何处理呢?具体来说,如果账号已经过期,我们该如何处理?

我们已经处理了异常,但我们根本不知道如何远程更改用户的密码。

这不是关于用户 A 更改 B 的密码。而是关于 A 更改自己的密码,因为它已过期(我不能要求用户登录 SQL Server Management Studio 来执行此操作)。

【问题讨论】:

【参考方案1】:

您可以使用ALTER LOGIN 语句

但是,请注意,理论上这允许任何用户更改任何其他用户的密码,只要他们具有 ALTER LOGIN 权限,因此您应该确保让用户也提供旧密码(我相信这是默认密码)。

出于兴趣,您为什么不使用 Windows 身份验证?这样,登录到期和密码处理对您来说是透明的。

【讨论】:

更改登录需要我登录并拥有 ALTER LOGIN 权限。使用 EntityFramework 我无法登录,因为密码已过期,因此无法运行该语句。这是一个问题。其次是用户不能拥有 ALTER LOGIN 权限。我需要这个系统,因为将有 3 种类型的身份验证:仅系统(使用“主”用户)、此(sgbd)和 Windows 身份验证。客户必须能够选择。 您可以以 sql 用户身份运行 ALTER LOGIN,该用户仅具有更改登录权限且不会过期。由于用户仍然需要知道自己的密码,因此不会让您面临任何额外的风险。 它破坏了应用程序的设计(用户应该对数据库进行身份验证,仅此而已)。我知道这样做是可能的(某种“主”用户,即使特权减少),这可能是这样做的唯一方法,但我正在研究其他方法。我想到了一些与连接字符串相关的东西(可能是一种发送新密码和旧密码的方法)或来自 SQLClient 的 API 可以帮助...... 不幸的是,除非您以新用户身份运行,否则该 API 将无济于事。旧登录名过期后,您根本无法以他们的身份连接 - 因此建议以其他用户身份连接。 SQLDMO API 也是如此——你将作为谁进行身份验证?您可能会争辩说,通过提供他们的旧密码,用户仍在验证自己,因为帐户重新启用并且密码更改不会发生,否则不会发生。 是的,这就是问题所在。无论如何我不得不问它。 AFAIK 应该是这样做的,但如果根本没有,我只需要为日志(只写)和密码策略(仅更改登录)创建一些“管理帐户”。想知道这种方法是否安全... =) 无论如何谢谢。

以上是关于sql身份验证密码怎么复制的主要内容,如果未能解决你的问题,请参考以下文章

SQL server2000 windows身份验证失败怎么办

SQL server2000 windows身份验证失败怎么办

sqlserver忘记SA用户密码,windows身份验证无法使用的情况下应该怎么办?

请问sql2008忘记sa的默认密码是多少?或者怎么修改密码

忘了SQL server 身份验证密码

怎么做“您需要使用有效的应用密码进行身份验证。”克隆 Bitbucket 存储库时?