微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MySQL 密码相关

登录用户

   当MysqL客户端进行用户登陆之后,可以使用以下命令显示登录用户

MysqL> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

   如果直接输入MysqL命令而不指定用户名,则是以游客账户ODBC@进行登录

设置密码

   初始的管理员root是没有密码的,我们可以使用以下命令为它设置密码,注意这个是在CMD环境下而不是登录MysqL客户端之后才做的,语法格式为MysqLadmin -uroot -p旧密码 password新密码

MysqLadmin -uroot password "123"

忘记密码

   MysqLdata文件夹下认会生成一个MysqL数据库,其中有user表就是做登录授权验证的。

   这使得MysqL必须先经过授权登录后才能进行一系列的操作,但是我们也可以通过一些技术手段绕过这个授权。

  

image-20200828121337805

   切记要使用管理员身份打开CMD

   1.关闭需要授权登录MysqL服务进程

net Stop MysqL

   2.开启MysqL免授权登录的服务进程

MysqLd --skip-grant-tables

   3.开启免授权登录的服务进程后可以再开启一个新的CMD命令终端,直接使用root用户进行登录而不用输入密码

MysqL -uroot

   4.在MysqL登录状态下修改密码(使用password()函数进行加密,使得密码存储是以密文存储)

update MysqL.user set authentication_string=password('yunya') where user = 'root' and host="localhost";

   如果上述命令失效或抛出异常,可使用以下命令(我这里的环境是5.7版本,5.7以下的版本可尝试使用以下命令)

update MysqL.user set password=password('yunya') where user = 'root' and host="localhost" and host="localhost";

   5.立即刷新到磁盘

flush privileges;

   6.退出

exit

   7.关闭免授权的服务进程,重新启动需要授权登录的服务进程

tskill MysqLd
net start MysqL  # 这里就是重新启动需要授权登录的服务进程

   8.效果验证,登录成功

MysqL -uroot -pyunya

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐