数据库密码忘了 SQL Server2008 数据库忘记登录密码了怎么办
大家好,数据库密码忘了相信很多的网友都不是很明白,包括SQL Server2008 数据库忘记登录密码了怎么办也是一样,不过没有关系,接下来就来为大家分享关于数据库密码忘了和SQL Server2008 数据库忘记登录密码了怎么办的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
数据库密码忘记了怎么办
情况一:只是忘记了密码
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。
SQL Server2008 数据库忘记登录密码了怎么办
方法一:用window身份登录之后,执行下面的语句
sp_password Null,'123,'sa'
把sa的密码设为“123”(可以自己随意填写)
方法二:
第一步:打开 SQL2008用window登录先,然后在服务名处右击选属性>安全性>右边的登录方式选项改为身份验证确定!
第二步:选择安全性(展开)>登录名>双击sa>密码改成你需要的密码确定!
本地MySQL密码忘了,怎么找回
1、以管理员的身份打开cmd,然后跳过权限启动mysql,命令:xxx--skip-grant-tables前面是mysql配置文件的位置,然后回车。
2、新打开个cmd窗口,进入到mysql配置文件目录bin下,然后输入 mysql-uroot-p再回车,这步是以空密码进入mysql。
3、空密码进入mysql后,如果前面都设置正确的话,这步显示的界面是Welcome to the MariaDB monitor。
4、然后可以show database;查看当前的数据库,回车后会列举出当前数据库的列表。
5、然后执行命令:update user set password=password('新密码') where user='root';并回车,其中括号中的就是将要设置的新密码。
6、执行完后会提示你 Query OK,表示执行成功了,再用新密码登录就可以了。
MySql登陆密码忘记了 怎么办
如果不是root密码:
连root的密码也忘记了吗?
没有的话,用root进去,修改mysql数据库user表咯。
如果是root密码:
方法一:
MySQL提供跳过访问控制的命令行参数,通过在命令行以此命令启动MySQL服务器:
safe_mysqld--skip-grant-tables&
即可跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库。
需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效
方法二:
可以进行如下的步骤重新设置MySQL的root密码:
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
2.修改MySQL的登录设置:
# vi/etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
保存并且退出vi。
3.重新启动mysqld
#/etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登录并修改MySQL的root密码
#/usr/bin/mysql
Welcome to the MySQL monitor. Commands end with; or\g.
Your MySQL connection id is 3 to server version: 3.23.56
Type‘help;’ or‘\h’ for help. Type‘\c’ to clear the buffer.
mysql> USE mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with-A
Database changed
mysql> UPDATE user SET Password= password(‘new-password’) WHERE User=‘root’;
Query OK, 0 rows affected(0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected(0.01 sec)
mysql> quit
Bye
5.将MySQL的登录设置修改回来
# vi/etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
6.重新启动mysqld
#/etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
windows
1.以系统管理员身份登陆系统。
2.打开cmd—–net start查看mysql是否启动。启动的话就停止net stop mysql.
3.我的mysql安装在d:\usr\local\mysql4\bin下。
4.跳过权限检查启动mysql.
d:\usr\local\mysql4\bin\mysqld-nt–skip-grant-tables
5.重新打开cmd。进到d:\usr\local\mysql4\bin下:
d:\usr\local\mysql4\bin\mysqladmin-uroot flush-privileges password“newpassword”
d:\usr\local\mysql4\bin\mysqladmin-u root-p shutdown这句提示你重新输密码。
6.在cmd里net start mysql
7.搞定了。
2,MySQL4.1以上版本一种密码错误问题的解决方法
1# SET PASSWORD FOR’some_user’@’some_host’= OLD_PASSWORD(‘newpwd’);
2# FLUSH PRIVILEGES;
3,Mysql数据库修复
myisamchk-r-q d:\mysql\data\latin1\*
r代表修复
q代表快速
d:\mysql\data\latin1\*数据库里面*代表里面的所有的文件
方法三:
如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。
1.向mysqld server发送kill命令关掉mysqld server(不是 kill-9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。
kill `cat/mysql-data-directory/hostname.pid`
你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。
2.使用`--skip-grant-tables'参数来启动 mysqld。
3.使用`mysql-h hostname mysql'命令登录到mysqld server,用grant命令改变口令。你也可以这样做:`mysqladmin-h hostname-u user password'new password''。
(其实也可以用use mysql; update user set password=password('yourpass') where user='root'来做到。)
4.载入权限表: `mysqladmin-h hostname flush-privileges',或者使用 SQL命令`FLUSH PRIVILEGES'。(当然,在这里,你也可以重启mysqld。)
方法四:(一定要先备份)
1,重新在另一台电脑上安装相同版本的MySQL
2,删除忘记密码的电脑中MySQL安装目录中\data\mysql的全部内容(要先停止MySQL服务)
3,Copy新装的电脑上MySQL安装目录中\data\mysql的全部内容 to刚刚删除的目录中
4,启动MySQL服务
这样就只有一个root用户了,密码为空……
好了,文章到这里就结束啦,如果本次分享的数据库密码忘了和SQL Server2008 数据库忘记登录密码了怎么办问题对您有所帮助,还望关注下本站哦!