
1.打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务,
2.开启跳过密码验证登录的MySQL服务
输入命令 mysqld --console --skip-grant-tables --shared-memory
3.再打开一个新的cmd,无密码登录MySQL,输入登录命令:mysql -u root -p
4. 密码置为空,命令如下:
use mysql
update user set authentication_string='' where user='root'
5.退出mysql,执行命令:
quit
6. 关闭以-console --skip-grant-tables --shared-memory 启动的MySQL服务,
7. 打开命令框,输入:net start mysql 启动MySQL服务,一管理员的身份运行cmd。
8.步骤4密码已经置空,所以无密码状态登录MySQL,输入登录命令:mysql -u root -p
9.利用上一篇博客中更改密码的命令,成功修改密码,如下图:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'。
MySQL数据库的认证密码有两种方式,
MySQL 4.1版本之前是MySQL323加密,MySQL 4.1和之后的版本都是MySQLSHA1加密,
MySQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MySQL数据库里进行查询,前者是MySQL323加密,后者是MySQLSHA1方式加密。
(1)以MySQL323方式加密
select old_password('111111')
(2)以MySQLSHA1方式加密
select password('111111')
MYSQL323加密中生成的是16位字符串,而在MySQLSHA1中生存的是41位字符串,其中*是不加入实际的密码运算中,通过观察在很多用户中都携带了"*",在实际破解过程中去掉"*",也就是说MySQLSHA1加密的密码的实际位数是40位。
方法1 用SET PASSWORD命令1
1、打开终端win+r输入cmd回车即可打开;
2、通过mysql -u用户名 -p指定root用户登录MySQL,输入后回车会提示输入密码。
3、修改MySQL的root用户密码,格式:mysql>set password for 用户名@localhost = password('新密码')例子:mysql>set password for root@localhost = password('shapolang')上面例子将用户root的密码更改为shapolang ;
重新登录,输入新密码shapolang就ok了;
END
方法2 用mysqladmin
1
1、打开终端win+r输入cmd回车即可打开;
2、修改MySQL的root用户密码格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -pshapolang password 123456
上面例子将用户root原来的密码shapolang改为新密码123456
重新登录,输入新密码123456就ok了;
END
方法3 用UPDATE直接编辑user表
1
1、首先登录MySQL。
2、 连接权限数据库: use mysql。3、改密码:update user set password=password("shapolang") where user="root"(别忘了最后加分号) 。 4、刷新权限(必须步骤):flush privileges
重新登录,输入新密码shapolang就ok了;
END
方法4 忘记root密码的时候
1
1、关闭正在运行的MySQL服务。
2、打开DOS窗口,转到mysql\bin目录。 3、 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 4、再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。 6、连接权限数据库: use mysql。 7、改密码:update user set password=password("root") where user="root"(别忘了最后加分号) 。 8、刷新权限(必须步骤):flush privileges 。 9、退出 quit。
重启mysql服务,使用用户名root和刚才设置的新密码root登录就ok了;
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)