mysql忘记密码?手把手教你解决

我的mysql版本是5.7.35,平台是linux
这是一个悲伤的故事,我忘记了我的mysql密码,然后试过了网上的大多数解决方案,发现网上的解决方案可能是版本太老,又或是描述有误,都以失败告终,在我的不懈探索下,终于解决了。

  • 修改my.cnf文件
    • 如果你不知道my.cnf文件在哪里,你可以
      my@yun:~$ locate my.cnf
      /etc/alternatives/my.cnf
      /etc/mysql/my.cnf
      /etc/mysql/my.cnf.fallback
      /var/lib/dpkg/alternatives/my.cnf
      my@yun:~$
      
    • 修改my.cnf文件
      打开
      my@yun:~$ sudo vim /etc/mysql/my.cnf
      
      修改,你只需要加上skip-grant-tables即可,但网上大多数不会说明是在[mysqld]选项下,如果没有[mysqld]你需要手动添加
      [mysqld]
      skip-grant-tables
      
      重启mysql服务,但网上很多都是service mysqld restart,起码就目前我的mysql版本来说他是错的
      my@yun:~$ sudo service mysql restart
      my@yun:~$
      
  • 至此你已经成功修改了配置文件并且重启了mysql服务,接下来应该修改mysql密码
    登录mysql
    my@yun:~$ mysql -uroot
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.7.35-0ubuntu0.18.04.1 (Ubuntu)
    
    Copyright (c) 2000, 2021, Oracle and/or its affiliates.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>
    
    切换数据库
    mysql> use mysql
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql>
    
    修改mysql密码
    mysql> update user set plugin='mysql_native_password' where user='root';
    Query OK, 0 rows affected (0.01 sec)
    Rows matched: 2  Changed: 0  Warnings: 0
    
    mysql> update user set authentication_string=PASSWORD('你的密码') where 		user='root';
    Query OK, 0 rows affected, 1 warning (0.01 sec)
    Rows matched: 2  Changed: 0  Warnings: 1
    
    mysql>
    
  • 至此修改成功,恢复配置文件
    注释掉相关的操作
    #[mysqld]
    #skip-grant-tables
    
    重启mysql服务
    my@yun:~$ sudo service mysql restart
    my@yun:~$
    
    使用密码登录mysql
    my@yun:~$ mysql -uroot -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.7.35-0ubuntu0.18.04.1 (Ubuntu)
    
    Copyright (c) 2000, 2021, Oracle and/or its affiliates.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql>
    
  • 至此密码修改成功
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值