MySQL忘掉密码的几种解决办法

06-02 1235阅读

如果你忘记了MySQL数据库的root用户密码,以下是几种不同的方法:

方法1:使用MySQL的--skip-grant-tables选项

  1. 停止MySQL服务:

    sudo systemctl stop mysql
    
  2. 以安全模式启动MySQL服务:

    sudo mysqld_safe --skip-grant-tables &
    
  3. 登录MySQL:

    mysql -u root mysql
    
  4. 重置密码:

    UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
    FLUSH PRIVILEGES;
    exit
    
  5. 重启MySQL服务:

    sudo systemctl start mysql
    

方法2:使用MySQL的--skip-networking选项

这种方法涉及停止MySQL服务,然后以不使用网络连接的方式启动MySQL服务,从而允许你登录并重置密码:

  1. 停止MySQL服务:

    sudo systemctl stop mysql
    
  2. 以不使用网络连接的方式启动MySQL服务:

    sudo mysqld_safe --skip-networking &
    
  3. 登录MySQL:

    mysql -u root mysql
    
  4. 重置密码:

    UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
    FLUSH PRIVILEGES;
    exit
    
  5. 重启MySQL服务:

    sudo systemctl start mysql
    

方法3:使用MySQL的--init-file选项

这种方法涉及创建一个包含重置密码命令的文件,并在启动MySQL服务时使用--init-file选项来执行该文件:

  1. 创建一个包含重置密码命令的文件:

    echo "UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES;" > /tmp/init.sql
    
  2. 停止MySQL服务:

    sudo systemctl stop mysql
    
  3. 以安全模式启动MySQL服务,并使用--init-file选项:

    sudo mysqld_safe --init-file=/tmp/init.sql &
    
  4. 等待MySQL服务启动并执行重置密码命令。

  5. 重启MySQL服务:

    sudo systemctl start mysql
    

方法4:使用MySQL的 --skip-grant-tables选项

1. 停止MySQL服务

首先,你需要停止正在运行的MySQL服务。在Linux系统中,你可以使用以下命令:

sudo systemctl stop mysql

或者,如果你使用的是较旧的系统,可能需要使用:

sudo service mysql stop

2. 以安全模式启动MySQL

接下来,以安全模式启动MySQL服务,这样你就可以不需要密码就能登录。在启动时添加--skip-grant-tables参数:

sudo mysqld_safe --skip-grant-tables &

3. 登录MySQL

现在,你可以登录到MySQL服务器,不需要密码:

mysql -u root

4. 重置密码

登录后,你需要重置root用户的密码。首先,选择MySQL数据库:

USE mysql;

然后,更新root用户的密码。请将new_password替换为你想要设置的新密码:

UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';

如果你使用的是MySQL 5.7.6及以上版本,可能需要使用以下命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

5. 重启MySQL服务

完成密码重置后,退出MySQL客户端:

exit

然后,重启MySQL服务:

sudo systemctl start mysql

6. 登录验证

现在,你应该可以使用新设置的密码登录MySQL了:

mysql -u root -p

输入新密码,你应该能够成功登录。

注意事项

  • 在执行上述操作时,请确保你有足够的权限来停止和启动MySQL服务。
  • 在重置密码之前,建议备份你的数据库,以防万一。
  • 如果你使用的是MySQL 5.7.6及以上版本,可能需要使用ALTER USER命令来重置密码。
  • 如果你使用的是MariaDB(MySQL的一个分支),步骤可能略有不同。

    如果你在重置密码的过程中遇到任何问题,建议查阅MySQL的官方文档或寻求专业的技术支持。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码