加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

MySQL如何重置密码/MySQL的初始密码

(2018-08-02 19:44:20)
标签:

mysql

重置密码

初始密码

5.7

8.0

分类: 计算机经验
忘记密码的重置方法,以修改root帐户的密码为例
例如C:\phpStudy\PHPTutorial\MySQL\bin>mysqld --skip-grant-tables;
MySQL5.6以前的命令
例如update user set password=password("newpassword") where user="root"; 
MySQL5.7的版本
例如update mysql.user set authentication_string=password('newpassword') where user='root';  
MySQL8.0的版本,同时修改密码认证方式为旧的native_password方式
例如ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
刷新一下权限
FLUSH PRIVILEGES;
重启后可以用新密码登录

如果提示错误,注意查看root对应的是否为localhost
mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)

这里的root对应的host是%,因此命令需修改为
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';



MySQL的初始密码
MySQL从5.7版本以后初始密码不再为空系统在初始化的时候会随机生成一个密码,第一次登陆时会要求更改密码,但很多人没看过文档,不知道初始密码,下面的方法供参考。

Linux下查看初始随机密码
方法一:
[root@VM_225_102_centos ~]# grep 'temporary password' /var/log/mysqld.log 
2016-07-08T02:25:46.311098Z 1 [Note] A temporary password is generated for root@localhost: MtPqF0/oN5zo
方法二:
[root@localhost src]# cat /root/.mysql_secret

# The random password set for the root user at Mon July 30 20:00:34 2018 (local time): %Jq_sA2m


Windows下查看初始随机密码
方法一:查看以.err结尾的文件
C:\phpStudy\PHPTutorial\MySQL\data目录下,已windows登录用户名为文件名,已.err结尾,

方法二:初始化的时候使用console参数
在MySQL安装目录的 bin 目录下执行命令:
mysqld --initialize --console
例如C:\phpStudy\PHPTutorial\MySQL\bin>mysqld --initialize --console
2018-07-31T01:56:00.319708Z 0 [System] [MY-013169] [Server] C:\phpStudy\PHPTutorial\MySQL\bin\mysqld.exe (mysqld 8.0.12) initializing of server in progress as process 13772
2018-07-31T01:56:08.272392Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: i,RX)f9s+Mez
2018-07-31T01:56:12.809383Z 0 [System] [MY-013170] [Server] C:\phpStudy\PHPTutorial\MySQL\bin\mysqld.exe (mysqld 8.0.12) initializing of server has completed

注意[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: i,RX)f9s+Mez,其中root@localhost:后面的i,RX)f9s+Mez就是初始密码(不含冒号后面的空格)

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有