数据库密码忘记 数据库密码忘记了怎么办
本篇文章给大家谈谈数据库密码忘记,以及数据库密码忘记了怎么办对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
忘记了oracle数据库用户的密码,怎么办
可以参考如下方法在忘记oracle密码的情况下,修改密码。
忘记sys,system用户的密码:
使用ORAPWD.EXE工具修改密码:在开始菜单点击‘运行’,输入‘cmd’,打开命令提示窗口,输入如下命令:
orapwd file=d:\oracle\product\10.1.0\Db_2\database\pwdctcsys.ora password=123456
这个命令重新生成了数据库密码文件。密码文件的位置在ORACLE_HOME目录下的\database目录下。这个密码是修改sys用户的密码。除了sys和system其它用户的密码不会改变。
忘记system用户的密码:
可以用sys用户登录。然后用alter user命令修改密码。如:
conn sys/pass_word as sysdba;
alter user system identified by newpass;
忘记sys用户密码:
可以用system用户登录。然后用alert user命令修改密码,如:
CONN SYSTEM/PASS_WORD;
ALTER USER SYSTEM IDENTIFIED BY NEWPASS;
忘记除sys/system用户之外的用户的登录密码。
用sys(或者system)登录。CONN SYS/PASS_WORD AS SYSDBA;
使用如下语句修改用户的密码。ALTER USER USER_NAME IDENTIFIED BY NEWPASS;主要密码不能是全数字且不能以数字开头。
(1)CONN SYS/PASS AS SYSDBA;//以DBA的身份登录
数据库密码忘记了怎么办
情况一:只是忘记了密码
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登陆密码忘记了 怎么办
如果不是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用户了,密码为空……
mysql数据库密码忘记了怎么办
面提供了5种linux忘记mysql密码找回方法哦。
方法一:
#/etc/init.d/mysql stop
# mysqld_safe--user=mysql--skip-grant-tables--skip-networking&
# mysql-u root mysql
mysql> update user set password=password(newpassword) where user=root;
mysql> flush privileges;
mysql> quit
#/etc/init.d/mysql restart
# mysql-uroot-p
enter password:<输入新设的密码newpassword>
mysql>
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql-udebian-sys-maint-p
enter password:<输入[client]节的密码>
mysql> update user set password=password(newpassword) where user=root;
mysql> flush privileges;
mysql> quit
# mysql-uroot-p
enter password:<输入新设的密码newpassword>
mysql>
方法三:
这种方法我没有进行过测试,因为我的root用户默认密码已经被我修改过了,那位有空测试一下,把结果告诉我,谢谢!!
# mysql-uroot-p
enter password:<输入/etc/mysql/debian.cnf文件中[client]节提供的密码>
方法四:
方法如下: 1,关闭mysql服务/etc/init.d/mysqld stop 2,使用–skip-grant-tables选项启动mysql服务,可以修改/etc/inin.d/mysqld脚本启动位置增加此选项, vi/etc/init.d/mysqld
方法如下:
1,关闭mysql服务
/etc/init.d/mysqld stop
2,使用–skip-grant-tables选项启动mysql服务,可以修改/etc/inin.d/mysqld脚本启动位置增加此选项,
vi/etc/init.d/mysqld
在下面运行启动的语句里增加--skip-grant-tables
/usr/bin/mysqld_safe--skip-grant-tables--datadir="$datadir"--socket="$socketfile"
--log-error="$errlogfile"--pid-file="$mypidfile"
加入--skip-grant-tables的意思是启动mysql服务的时候跳过权限表认证。启动后,连接到mysql的root不需要口令
3,重新启动mysql服务
/etc/init.d/mysqld start
4.修改root用户的密码;
mysql> update mysql.user set password=password(123456) where user=root;
mysql> flush privileges;
mysql> quit
5.重新启动mysql,就可以使用新密码登录了。
mysql
mysql-u root–p
输入密码:123456
6,关闭mysql服务
/etc/init.d/mysqld stop
7,重新修改第2步修改的/etc/init.d/mysqld,使其保持原来不变,也就是取消--skip-grant-tables语句
8,重新启动mysql服务
/etc/init.d/mysqld start
OK,关于数据库密码忘记和数据库密码忘记了怎么办的内容到此结束了,希望对大家有所帮助。