Mysql忘记密码处理过程

Posted ifly_zhhades

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql忘记密码处理过程相关的知识,希望对你有一定的参考价值。

  最近项目用到了mysql,项目里面没有运维人员,项目经理吩咐我在Linux下搭基础环境,其中遇到各种坑,现在记录一下,方便以后使用。

以下内容是从网上摘抄过了的,若有侵权,请联系本人删除。

1.mysql5.7会生成一个初始化密码,而在之前的版本首次登陆不需要登录。
  shell> find / -name .mysql_secret
  shell> vim /var/log/mysqld.log
     /password 找到临时生成的密码

2.若第一步成功,则使用该密码继续第7步
3.修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables
  a. 关闭正在运行的MySQL服务。
  b. vim /etc/my.ini 最后一行添加 skip-grant-tables //启动MySQL服务的时候跳过权限表认证。
4.service mysqld restart后,即可直接用mysql进入

5. mysql> update mysql.user set authentication_string=password(‘123456‘) where user=‘root‘ and Host = ‘localhost‘;

//使用语句之前最好查一下user表里面关于密码的字段.根据版本不同,有的是authentication_string,有的是password

    mysql> flush privileges;
      mysql> quit;
6.将/etc/my.cnf文件还原,重新启动mysql:service mysql restart,这个时候可以使用mysql -u root -p‘123456‘进入了

7.mysql>SET PASSWORD = PASSWORD(‘newpasswd‘); 设置新密码//newpasswd是新密码

ps: 报错:1130-host ... is not allowed to connect to this MySql server时解决办法
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,
登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = ‘%‘ where user = ‘root‘ and host = ‘localhost‘;
mysql>select host, user from user;

mysql>flush privileges;

shell>service mysqld restart;


















以上是关于Mysql忘记密码处理过程的主要内容,如果未能解决你的问题,请参考以下文章

MySQL忘记密码处理

Mysql 忘记密码处理配置

MySQL修改密码以及忘记MySQL密码处理方式

MySQL 忘记root密码的两种处理方法

linux下mysql-5.6忘记root密码,重置root密码详细过程

忘记MYSQL ROOT密码怎么办