重置MySQL密码
今天在VmWare上布项目。前人已经把里面的环境搭好了。mysql也有了。但是!mysql没有密码,进不去。在网上一通找,终于找到了解决办法。
MySQL密码在数据库里,但是,没有密码进不去。传言这种方法可行:
方法1:更改配置文件[^1]
编辑/etc/my.cnf文件,在[mysqld]下添加skip-grant-tables,保存退出。
重启mysql服务:services mysqld restart。
重启mysqld服务后,执行mysql命令,进入mysql命令行。
修改root密码。
删除/etc/my.cnf中的skip-grant-tables,或者注释掉,重启mysql即可。
但是,我修改完配置文件后,MySQL起不来了
然后,综合几篇文章,找到第二种方法:跳过密码登录法。虽然方法一修改配置文件也是为了跳过密码。但是方法二用命令跳过登陆。实践证明可行
1.首先关闭掉MySQL系统服务:
service mysqld stop
2.使用命令跳过输入密码过程:
mysqld_safe --skip-grant-tables &
3.进数据库,输入命令:
`mysql`
4.密码在数据库‘ mysql’下的‘user’中存储着。用户名字段也叫 ‘user’ ,密码字段名叫‘authentication_string’。进数据库。把表中数据改了就好了
UPDATE user SET authentication_string=password(‘123456’) WHERE user='root';
如此,root的密码就改成了123456了。
5.输入命令:flush privileges。刷新MySQL的系统权限相关表,否则会出现拒绝访问 忘记输入的话重启mysql服务也可以
6.exit或者quit退出数据库。重启数据库service mysqld restart,或者重启系统reboot。再按照正常方法进数据库就行了。
第二种方法看了几篇文章凑起来的[^2] [^3] [^4]
参考文献:
[^1]https://www.cnblogs.com/vurtne-lu/p/7615681.html
[^2]https://blog.csdn.net/mshxuyi/article/details/87882621
[^3]https://blog.csdn.net/qq_35389417/article/details/78910974
[^4]https://blog.csdn.net/huang1600301017/article/details/84866007?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param