linux下mysql5.7初始密码查看及忘记密码重置

linux在安装mysql,从5.7开始会自动生成一个随机密码,如果不注意没有记下这个随机密码,mysql安装成功后就会无法登录。

  一、查看初始密码

  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 其中“MtPqF0/oN5zo”就为我们要找的初始密码

  另外一种方法查看默认密码:

  cat /root/.mysql_secret The random password set for the root userat Fri Jan 10 20:00:34 2014 (local time): aJqZsA2m “aJqZsA2m”就是我们要找的初始密码

  ps:这上面两种方法都是在网上找的,第一个方法我是在log中没有找到对应的密码记录,第二方法找到的密码也登陆不进去,不知道哪里操作错误了,最后还是使用的下面的mysql找回密码大招登陆进去的

  二、mysql密码找回

  • 方法一:

  vi /etc/my.cnf

  在[mysqld]下加上 skip-grant-tables,如:

  [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-grant-tables

  重启mysql

  service mysqld restart

  登陆mysql后就可以修改密码了

  mysql -u root update mysql.user set authentication_string=PASSWORD('123456') where User='root'; flush privileges;

  然后改回my.cnf重启mysql。

  • 方法2:

  先暂停mysql

  以不检查权限的方式启动

  bin/mysqld_safe --skip-grant-tables &

  登陆mysql后就可以修改密码了

  mysql -u root update mysql.user set authentication_string=PASSWORD('123456') where User='root'; flush privileges;

  然后重启mysql就ok了

  service mysqld restart

  登录后任何操作都会有这个提示:

  ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

  还需要刷新一次密码才行

  set password for root@localhost = password('123456'); flush privileges;

 

posted @   寻梦-梦浩雪  阅读(7518)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示