【紧急救援】MySQL root密码忘了?一招教你轻松重置!

忘记 MySQL 数据库的 root 密码是一个常见问题,可以通过以下步骤重置 root 密码。以下是详细的解决方案:

方法一:跳过授权表方式(适用于 MySQL 5.7 及更早版本)

  1. 停止 MySQL 服务 首先,需要停止 MySQL 服务。在 Linux 系统上,可以使用以下命令:

    sudo systemctl stop mysqld

    或者

    sudo service mysqld stop
  2. 以安全模式启动 MySQL 使用 --skip-grant-tables 选项启动 MySQL,这将跳过所有权限检查。

    sudo mysqld_safe --skip-grant-tables &
  3. 登录 MySQL 由于跳过了权限表,可以直接登录 MySQL,不需要密码。

    mysql -u root
  4. 修改 root 密码 在 MySQL 命令行中执行以下 SQL 语句来修改 root 密码:

    FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    
    请将 'new_password' 替换为你希望设置的新密码。
  5. 退出 MySQL

    exit;
  6. 重启 MySQL 服务 停止并重新启动 MySQL 服务,使更改生效。

    sudo systemctl restart mysqld

    或者

    sudo service mysqld restart

方法二:使用 init-file 参数(适用于 MySQL 8.0)

  1. 创建一个包含密码重置命令的文件 创建一个文本文件(例如 reset_password.sql),并在文件中添加以下内容:

    [client] port = 3306 user = root ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    
    请将 'new_password' 替换为你希望设置的新密码。
  2. 停止 MySQL 服务

    sudo systemctl stop mysqld
  3. 以安全模式启动 MySQL 使用 --init-file 选项启动 MySQL,指定之前创建的 SQL 文件。

    sudo mysqld --defaults-file=/etc/my.cnf --init-file=/path/to/reset_password.sql &
    
    请将 /path/to/reset_password.sql 替换为实际的文件路径。
  4. 等待 MySQL 启动完成 确保 MySQL 成功启动并应用了文件中的命令。

  5. 重启 MySQL 服务 停止并重新启动 MySQL 服务,使更改生效。

    sudo systemctl restart mysqld

注意事项

  • 备份数据:在进行任何操作之前,务必备份数据库以防数据丢失。
  • 权限问题:确保你有足够的权限进行这些操作,通常需要超级用户权限。
  • 安全性:在生产环境中操作时,请谨慎处理,避免暴露敏感信息。

通过上述方法,你可以重置忘记的 MySQL root 密码。选择适合你的 MySQL 版本的方法进行操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值