加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL 密码相关

发布时间:2020-12-12 02:20:57 所属栏目:MySql教程 来源:网络整理
导读:登录用户 当 MySQL 客户端进行用户登陆之后,可以使用以下命令显示所登录的用户 mysql select user();+----------------+| user() |+----------------+| root@localhost |+----------------+1 row in set (0.00 sec) 如果直接输入 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读