您的位置:首页 > 数据库 > MySQL

MySQL 密码相关

2020-08-28 12:27 776 查看

登录用户

   当

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"

忘记密码

  

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

   这使得

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

  

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

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: