mysql忘记root密码 root 密码是多少

破解mysql root密码的几种方法
作者:佚名
字体:[ ] 来源:互联网 时间:10-08 19:02:56
网上流传的几种破解mysql root密码的几种方法:
使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWORD函数。
使用mysqladmin,这是前面声明的一个特例。
mysqladmin -u root -p password mypasswd
网上流传的几种破解mysql root密码的几种方法:
使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWORD函数。
使用mysqladmin,这是前面声明的一个特例。
mysqladmin -u root -p password mypasswd
输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。
把命令里的root改为你的用户名,你就可以改你自己的密码了。
当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,那么这种方法就是无效的,而且mysqladmin无法把密码清空。
下面的方法都在mysql提示符下使用,且必须有mysql的root权限:
mysql& Insert INTO mysql.user (Host,User,Password)
VALUES(&%&,&jeffrey&,PASSWORD(&biscuit&));
mysql& FLUSH PRIVILEGES
确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。
在《mysql中文参考手册》里有这个例子,所以我也就写出来了。
注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。
和方法三一样,只是使用了REPLACE语句
mysql& REPLACE INTO mysql.user (Host,User,Password)
VALUES(&%&,&jeffrey&,PASSWORD(&biscuit&));
mysql& FLUSH PRIVILEGES
使用SET PASSWORD语句,
mysql& SET PASSWORD FOR jeffrey@&%& = PASSWORD(&biscuit&);
拟也必须使用PASSWORD()函数,但是不需要使用FLUSH PRIVILEGES。
使用GRANT ... IDENTIFIED BY语句
mysql& GRANT USAGE ON *.* TO jeffrey@&%& IDENTIFIED BY &biscuit&;
这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。
注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。
MySQL 忘记口令的解决办法
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
&use mysql
&update user set password=password(&new_pass&) where user=&root&;
重新杀 MySQL ,用正常方法启动 MySQL 。
mysql密码清空
1.用系统管理员登陆系统。
2.停止MySQL的服务。
3.进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:\mysql,进入C:\mysql\bin
4.跳过权限检查启动MySQL,
c:\mysql\bin&mysqld-nt --skip-grant-tables
5.重新打开一个窗口,进入c:\mysql\bin目录,设置root的新密码
c:\mysql\bin&mysqladmin -u root flush-privileges password &newpassword&
c:\mysql\bin&mysqladmin -u root -p shutdown
将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。
6.停止MySQL Server,用正常模式启动Mysql
7.你可以用新的密码链接到Mysql了。
Unix&Linux:
1.用root或者运行mysqld的用户登录系统;
2.利用kill命令结束掉mysqld的进程;
3.使用--skip-grant-tables参数启动MySQL Server
shell&mysqld_safe --skip-grant-tables &
4.为root@localhost设置新密码
shell&mysqladmin -u root flush-privileges password &newpassword&
5.重启MySQL Server
mysql修改密码
  mysql修改,可在mysql命令行执行如下:
  mysql -u root mysql
  mysql& Update user SET password=PASSWORD(&new password&) Where user=&name&;
  mysql& FLUSH PRIVILEGES;
  mysql& QUIT
教你如何将MySQL数据库的密码恢复
因为MySQL密码存储于数据库mysql中的user表中,所以只需要将我windows 2003下的MySQL中的user表拷贝过来覆盖掉就行了。
在c:\mysql\data\mysql\(linux 则一般在/var/lib/mysql/mysql/)目录下有三个user表相关文件user.frm、user.MYD、user.MYI
user.frm //user表样式文件
user.MYD //user表数据文件
user.MYI //user表索引文件
为保险起见,三个都拷贝过来,不过其实如果之前在要恢复的那个MySQL上没有更改过表结构的话,只要拷贝user.MYD就行了
#. /etc/rc.d/init.d/mysql stop
#. /etc/rc.d/init.d/mysql start
#mysql -u root -p XXXXXX
好了,可以用windows 2003下mysql密码登陆了
mysql&use mysql
mysql&update user set Password=PASSWORD(&xxxxxx&) where User=&root&;
这时候会出错,提示user表只有读权限
我分析了一下原因,只这样的,因为user.*文件的权限分配是windows 2003下的,在windows 2003下我ls -l一看权限是666
在linux下我一看,拷过来后权限变成了600(其实正常情况下600就行了,只不过这里的文件属主不是mysql,拷过来后的属主变为了root,所以会出现权限不够,这时候如果你改成权限666则可以了,当然这样不好,没有解决问题的实质),在/var/lib/mysql/mysql/下ls -l看了一下
#chown -R mysql:mysql user.*
#chmod 600 user.*
重起一下MYSQL
mysql&use mysql
mysql&update user set Password=PASSWORD(&xxxxxx&) where User=&root&;
mysql&FLUSH PRIVILEGES;
有一点值得注意:如果你windows 下mysql如果是默认配置的话,注意要还要执行
mysql&delete from user where User=&&;
mysql&delete from user where Host=&%&;
mysql&FLUSH PRIVILEGES;
好了,到这里恢复密码过程就完成了
这个方法么就是有点局限性,你必须也具备另外的user表文件
其他还有几种方法
其它方法一(这个是网上流传较广的方法,mysql中文参考手册上的)
1. 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。
killall -TERM mysqld
你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。
2. 使用`--skip-grant-tables& 参数来启动 mysqld。 LINUX下:
/usr/bin/safe_mysqld --skip-grant-tables , windows下c:\mysql\bin\mysqld --skip-grant-tables
3. 然后无密码登录到mysqld server ,
&use mysql
&update user set password=password(&new_pass&) where user=&root&;
。你也可以这样做:
mysqladmin -h hostname -u user password &new password&&
4. 载入权限表:
mysqladmin -h hostname flush-privileges&
或者使用 SQL 命令
`FLUSH PRIVILEGES&
killall -TERM mysqld
6.用新密码登陆
其它方法二
直接用十六进制编辑器编辑user.MYD文件
不过这个里面我要说明一点,我这里编辑的时候发现个问题,加密的密码串有些是连续存储的,有些的最后两位被切开了,后两位存储在后面其他地方.这一点我还没想明白.还有注意一点就是编辑的是加密过的密码串,也就是说你还是需要另外有user表文件。这种方法和我最上面介绍的方法的区别在于,这种方法直接编辑linux下的user表文件,就不需要重新改文件属主和权限了
修正一下:我在Windows下的实际操作如下
1.关闭正在运行的MySQL。
2.打开DOS窗口,转到mysql\bin目录。
mysqld-nt --skip-grant-tables
回车。如果没有出现提示信息,那就对了。
4.再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5.输入mysql回车,如果成功,将出现MySQL提示符 &
6. 连接权限数据库
(&是本来就有的提示符,别忘了最后的分号)
6.改密码:
& update user set password=password(&123456&) where user=&root&; (别忘了最后的分号)
7.刷新权限(必须的步骤)
9.注销系统,再进入,开MySQL,使用用户名root和刚才设置的新密码123456登陆。
据说可以用直接修改user表文件的方法:
关闭MySQL,Windows下打开Mysql\data\mysql,有三个文件user.frm,user.MYD,user.MYI找个知道密码的MySQL,替换相应的这三个文件,如果user表结构没改过,一般也没人去改,替换user.MYD就可以了。
也可以直接编辑user.MYD,找个十六进制编辑器,UltraEdit就有这个功能。关闭MySQL,打开user.MYD。将用户名root后面的八个字符改为013245,新密码就是123456。或者将它们对应的十六进制数字,(左边那里,一个字符对应两个数字),改为 00 02 02 02 02 02 02 02,这就是空密码,在编辑器右边看到的都是星号*,看起来很象小数点。重开MySQL,输入root和你的新密码。
大家感兴趣的内容
12345678910
最近更新的内容king_819 的BLOG
用户名:king_819
文章数:139
评论数:593
访问量:1857825
注册日期:
阅读量:5863
阅读量:12276
阅读量:334196
阅读量:1039252
51CTO推荐博文
如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置:
&&& 1. KILL掉系统里的MySQL进程;
&&& 2. 用以下命令启动MySQL,以不检查权限的方式启动;
&&& mysqld_safe --skip-grant-tables &
&&& 3. 然后用空密码方式使用root用户登录 MySQL;
&&& mysql -u root
&&& 4. 修改root用户的密码;
&&& mysql& update mysql.user set password=PASSWORD('123456') where User=root and host='localhost';
&& mysql& flush privileges;
&& mysql& quit
&&& 5. 重新启动MySQL,就可以使用新密码登录了。
mysql -u root -p123456
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.搞定了。
&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)mysql 5.7 root密码修改
MySQL管理者密码设置或修改:
依据官方说明5.6以后版本,第一次启动时会在root目录下生产一个随机密码,文件名.mysql_secret。
[root@bright ~]# cat /root/.mysql_secret
# Password set for user 'root@localhost' at
:Jj+FTiqvyrF
[root@bright ~]# cd /usr/local/mysql/bin/
[root@bright bin]# ./mysqladmin -u root -h localhost password '123456' -p
Enter password:&&&&&&&&&&&&&&&&&&& #此行输入.mysql_secret里第二行内容
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
官方的方式,笔者无论是否使用--skip-grant-tables启动mysql都测试失败,亲们可以测试:
shell&mysql -uroot -p'password'&&& #password即.mysql_secret里的密码
mysql&SET PASSWORD = PASSWORD('newpasswd');
旧版本,安装后ROOT无密码,按如下操作:
shell&service mysqld stop&&& #停止mysql服务
shell&mysqld_safe --skip-grant-tables && #以不启用grant-tables模式启动mysql
shell&mysql -uroot -p #输入命令回车进入,出现输入密码提示直接回车。
mysql&update user set password=PASSWORD(&123456&)where user=&root&; #更改密码为 newpassord
mysql& #更新权限
mysql&quit #退出
shell&service mysqld stop&&& #停止mysql服务
shell&mysqld_safe --skip-grant-tables && #以不启用grant-tables模式启动mysql
shell&mysql -uroot -p #输入命令回车进入,出现输入密码提示直接回车。
mysql & set password for root@localhost = password('mysqlroot');
shell&/path/mysqladmin -u UserName -h Host password 'new_password' -p
【声明】:黑吧安全网()登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱,我们会在最短的时间内进行处理。
上一篇:【】【】您所在的位置: &
MySQL修改root密码并不难
MySQL修改root密码并不难
今天我们主要向大家介绍的是MySQL 修改 root 密码命令实际应用的介绍,以下就是文章的详细内容介绍,望大家借鉴。
以下的文章主要介绍修改 root 密码命令实际应用的介绍,其中包括对更改MySQL数据库的root 管理员密码以及MySQL 数据库修改root 密码命令等相关内容的介绍,希望会给你带来一些帮助在此方面。
一、请问在win2K命令提示符下怎样更改MySQL的root管理员密码?
MySQL&-u&root&-p &Enter&password:&****** &MySQL&use&MySQL; &MySQL&update&user&set&passwordpassword=password('new_password')&where&user='root';&
通过这种方法就可以直接MySQL 修改密码了。至于在CMD下能否登陆MySQL,就要在Windows环境变量PATH中添加&C:\Program Files\MySQL\MySQL Server 5.0\&(请改为你自己的安装路径)了。
二、MySQL 修改root密码命令
cmd下切换到 MySQL 安装目录
d:/MySQL/bin
前提:MySQL用户root密码为空.
输入 MySQL -u root MySQL
MySQL& 状态下输入 update user set password=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.00 sec)
MySQL& 状态下输入 quit
注意每个命令后都要加上一个分号 &;&
MySQL 才开始执行该行命令
而第二个指令会让已载入记忆体的 MySQL 系统资料库更新
重起 MySQL .
在更新 root 密码後,日後要与 MySQL 连线的方法为:
MySQL -uroot -p新密码
忘记MySQL 的root 密码:
先确认已经杀掉MySQLd 进程了,然后执行这个
/usr/bin/safe_MySQLd --skip-grant-tables &
再这样登录
MySQL -h 192.168.1.2 -u root
上边的192.168.1.2 是cloud 的MySQLd 运行机器,你换成自己的,这样登录上
去,就可以MySQL 修改密码了。
1.MySQL -h hostname &u root 命令登录到MySQLd server 用grant 命令改变口令:
Grant all on *.* to root indentified by &111111&
2. MySQLadmin -u 用户名-p 旧密码password 新密码
例1:给root 加个密码ab12。首先在DOS 下进入目录MySQLbin,然后键入
MySQLadmin -uroot password ab12
注:因为开始时root 没有密码,所以-p 旧密码一项就可以省略了。
2、例2:再将root 的密码改为djg345。
MySQLadmin &u root -pab12 password djg345 (注意-p 不要和后面的密码分
开写,要写在一起)
use&MySQL;&update&user&set&passwordpassword&=password('yourpass')&where&user='r& &oot'&&
4. 载入权限表: `MySQLadmin -h hostname flush-privileges' ,或者使
用SQL 命令`FLUSH PRIVILEGES'。(当然,在这里,你也可以重启MySQLd。)
MySQL 的建库,添加数据方法:
mysqi&&u&root& &MySQLcreate&database&& &MySQLsource&1.txt& &MySQLload&data&local&infile&&2.txt&&into&table&&&
1.txt 内容:
CREATE&TABLE&board&(& &boardid&int(11)&NOT&NULL&auto_increment,& &boardname&char(255),& &PRIMARY&KEY&(boardid)& &);&&
2.txt 内容:
1 lk(Tab 键分开)
导出database:
#MySQLdump &opt ttt &uroot &p111111 & 111.sql
导入database
1. #MySQL &u root &p111111 ttt & 111.sql
2. MySQL&source 111.
导出的多个database:#MySQLdump &-databases ttt1 ttt2 ttt3 &uroot &p111111
导出所有database:#MySQLdump &-all-databases &uroot &p111111 & 111.sql
补一下不知道root密码情况下MySQL 修改root密码
MySQLd启动的时候加上&skip-grant-tables,然后马上修改密码,修改后去掉&skip-grant-tables,然后就OK了。
【编辑推荐】
【责任编辑: TEL:(010)】
关于的更多文章
MySQL是完全网络化的跨平台关系型数据库系统,同时是具有客户机/
数据库产品
数据库综合
数据库新闻
维基百科将切换到另外一款开源数据库MariaDB
讲师: 38人学习过讲师: 7人学习过讲师: 55人学习过
你的SQL Server代码安全吗?请你与我一起跟随作者来探
为什么会发生死锁?如何利用SQL Server Profiler分析
Oracle集群,也称Oracle RAC,称为“真正应用集群”。
本书虽然是《网管员必读―网络应用》的改版,但它绝不是简单的修改,而是完完全全的重写,内容更实用、更专业。全书共9章,13个
51CTO旗下网站»»MySQL修改root密码的几种方法
本文整理了四种在MySQL中修改root密码的方法,希望对大家有所帮助。全部方法经过测试通过。
方法1: 用SET PASSWORD命令
  首先登录MySQL。
  格式:mysql& set password for 用户名@localhost = password('新密码');
  例子:mysql& set password for root@localhost = password(&#');
     上面例子将用户root的密码更改为 
方法2:用mysqladmin
  格式:mysqladmin -u用户名 -p旧密码&password 新密码
  例子:mysqladmin -uroot -p123456
&&&&&&&&&&&& 上面例子将用户root原来的密码123456改为新密码
方法3:用UPDATE直接编辑user表
  首先登录MySQL。
  mysql&
  mysql&&update user set password=password(&#')&where user='root' and host='localhost';
  mysql&&
方法4:在忘记root密码的时候,可以这样。
  以windows为例:
  1. 关闭正在运行的MySQL服务。
  2. 打开DOS窗口,转到mysql\bin目录。
  3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
  4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
  5. 输入mysql回车,如果成功,将出现MySQL提示符 &。
  6. 连接权限数据库: 。
  6. 改密码:update user set password=password(&&) where user=&root&;(别忘了最后加分号) 。
  7. 刷新权限(必须步骤): 。
  8. 退出& quit。
  9. 注销系统,再进入,使用用户名root和刚才设置的新密码登录。
验证消息:Admin10000
提示:常上QQ空间的朋友可关注,精彩内容不错过。
理智评论文明上网,拒绝恶意谩骂 发表评论 / 共0条评论
登录会员中心

我要回帖

更多关于 mysql修改root密码 的文章

 

随机推荐