1.MySQL数据库忘记密码怎么办? 2.MySQL死活不让你创建简单密码怎么办?一起解决

内容概述
      在刚刚安装好MySQL或者进行测试时删库后,重新进入MySQL会要求输入密码,可能有的小伙伴要问了——啊,这这这,哪来的密码呀?我从没有设过什么密码呀,最近没喝断片的呀,一定有鬼,得找个大师驱驱鬼。别担心,这是MySQL的安全机制,默认第一次启动时是要输入密码的,而这个密码,是MySQL自己自动产生的,这基于它的安全机制。所以不是啥灵异事件,不要害怕。接下来将介绍如何查看默认密码、改密码、以及如何不用密码登入MySQL、创建简单密码(默认情况下MySQL是不允许创建太过简单的密码哟,和前面改密码是不一样的哦)。

1.查看默认密码
      在命令行中输入以下代码,从mysql一般日志文件中查找默认密码,搜索结果可能会出现几行,用最后一行的就行。(会出现几行是因为之前你用过MySQL,不知什么原因,进行了删库操作可能是想跑路哈哈再次启动MySQL时,会生成一个新的默认密码,)

grep ' A temporary password' /var/log/mysqld.log

      我电脑的搜索结果如下
在这里插入图片描述
      我这里有两行,我可不是想删库跑路哦,只是单纯做测试哈哈 复制密码:q8Gr)&vghE10

2.改密码
      改密码可以分为两种方式,数据库外部改和数据库内部改,其中数据库内部改密码又可以分为两种,一种是用mysql命令改密码,另一种是修改mysql数据库里的user表内容。 (不用担心,跟着我一步一步玩就可以了,多敲几遍就不复杂了)
      (1)数据库外部修改密码

mysqladmin -uroot -p'q8Gr)&vghE10' password '新密码'#(包含大小写数字,特殊符号)
#-p后面直接跟旧密码,password后面跟空格再跟新密码
#如果遇到这样的提示:mysqladmin: unable to change password; error: 'Your 
#password does not satisfy the current policy requirements'
#那就是密码太简单了,后面会教你设置简单密码

      (2)数据库内部修改密码之mysql命令

#先用查询到的默认密码登录数据库
mysql -uroot -p'q8Gr)&vghE10'
#进入数据库后
set password=password('新密码');#(包含大小写数字,特殊符号)
#如果遇到这样的提示:ERROR 1819 (HY000): Your password does not satisfy 
#the current policy requirements
#依旧是密码太简单了的缘故

      (3)数据库内部修改密码之修改mysql数据库的user表authentication_string字段内容

#先用查询到的默认密码登录数据库
mysql -uroot -p'q8Gr)&vghE10'
#进入数据库程序后
update mysql.user set authentication_string=password('新密码') where user='root';
#一样,这里新密码设置复杂一点

      通过这几种方法,只要你新密码复杂一点,就可以使用新密码登陆数据库了

3.不使用密码登录数据库
      取消MySQL检查密码,只需要更改更改一下MySQL的主配置文件/etc/my.cnf

vim /etc/my.cnf
#进入到配置文件里后,添加一行
skip-grant-tables
#然后保存退出
#重启mysqld服务
systemctl restart mysqld
#然后就可以免密码登陆数据库了
mysql -uroot

4.创建简单密码
      如果是自己学习测试用的数据库,密码设置简单点也方便一点,但MySQL有安全机制,不允许密码太简单。但还有强制方法,这里要用到前面的2.(3)修改authentication_string内容
      前提: A.修改了默认密码(没有的话先按前面修改密码的方法将默认密码改了) B.先修改主配置文件,让MySQL跳过密码检查

1.修改默认密码,参考前面第2点
2.修改主配置文件 vim/etc/my.cnf  ------在里面添加一行  skip-grant-tables
3.重启服务器--------syatemctl restart mysqld
4.无密码登陆MySQL数据库-----mysql -uroot
5.修改 mysql数据库里的user表的authentication_string字段
update mysql.user set authentication_string=password('123456');
6.退出MySQL数据库程序,修改主配置文件 vim /etc/my.cnf-----将skip-grant-tables注释掉
7.重启mysqld服务 ----systemctl restart mysqld
8.使用简单密码登陆数据库 -----mysql -uroot -p'123456'

感言
如果你觉得这篇文章对你解决问题有所帮助,希望你将这个方法分享出来,可以直接将我的文章复制粘贴发到你自己的博客里,我并不介意,学习不应该设置路障,还有很多小伙伴被许许多多的小问题困住,只不过遇到的问题对于目前所掌握的知识来所太超前了。希望你能和我一同将学习中遇到的问题的解决方法用最简单的描述分享出来,帮助那些还处于煎熬之中的小伙伴。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值