如何恢复mysql数据库原始密码

如何恢复mysql数据库原始密码,第1张

打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址

2

打开cmd命令提示符,进入上一步mysql.exe所在的文件夹。

3

输入命令 mysqld --skip-grant-tables 回车,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法 *** 作了,此时可以再打开一个新的命令行。注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行。

然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库

输入show databases 可以看到所有数据库说明成功登陆。

其中mysql库就是保存用户名的地方。输入 use mysql 选择mysql数据库。

show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。

输入select user,host,password from user 来查看账户信息。

更改root密码,输入update user set password=password('123456') where user='root' and host='localhost'

再次查看账户信息,select user,host,password from user 可以看到密码已被修改。

退出命令行,重启mysql数据库,用新密码尝试登录。

测试不带密码登录mysql,发现还是能够登陆上,但显示数据库时只能看到两个数据库了,说明重启之后跳过密码验证已经被取消了。

我这地方重启数据库之后之所以不带密码任然能够登录是因为我的数据库里存在设无须口令的账户。

开始--》运行--》cmd

进入mysql安装目录的bin文件夹(客户都没设置环境变量找不到mysql命令只能到那个目录)

比如:D:\Program Files\MySQL\MySQL Server 5.0\bin>

1.暂停mysql服务;

 2.忽略授权问题;

  3.另一个命令行进去myql;

   4.重置root密码并刷新授权表;

    5.任务管理器杀掉mysql进程;

     6.重启mysql服务;

>net stop mysql

>mysqld --skip-grant-tables

开另外一个命令行窗口,一样进入那个目录

>mysql -u root -p

>update mysql.user set password=PASSWORD("新密码") where User="root"

>flush privileges

任务管理器杀掉mysql进程

>net start mysql

#################################################################

  vi /etc/my.cnf 在[mysqld]添加

  skip-grant-tables

  /etc/init.d/mysql restart

  mysql

  >update mysql.user set password=PASSWORD("新密码") where User="root"

  >flush privileges

 /etc/init.d/mysql restart


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存