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

打印 上一主题 下一主题

主题 1615|帖子 1615|积分 4845

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
假如你忘记了MySQL数据库的root用户暗码,以下是几种差别的方法:
方法1:利用MySQL的--skip-grant-tables选项


  • 克制MySQL服务
    1. sudo systemctl stop mysql
    复制代码
  • 以安全模式启动MySQL服务
    1. sudo mysqld_safe --skip-grant-tables &
    2. amp;
    复制代码
  • 登录MySQL
    1. mysql -u root
    2. mysql
    复制代码
  • 重置暗码
    1. UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
    2. FLUSH PRIVILEGES;
    3. exit
    复制代码
  • 重启MySQL服务
    1. sudo systemctl start mysql
    复制代码
方法2:利用MySQL的--skip-networking选项

这种方法涉及克制MySQL服务,然后以倒霉用网络毗连的方式启动MySQL服务,从而允许你登录并重置暗码:

  • 克制MySQL服务
    1. sudo systemctl stop mysql
    复制代码
  • 以倒霉用网络毗连的方式启动MySQL服务
    1. sudo mysqld_safe --skip-networking &
    复制代码
  • 登录MySQL
    1. mysql -u root
    2. mysql
    复制代码
  • 重置暗码
    1. UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
    2. FLUSH PRIVILEGES;
    3. exit
    复制代码
  • 重启MySQL服务
    1. sudo systemctl start mysql
    复制代码
方法3:利用MySQL的--init-file选项

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

  • 创建一个包含重置暗码下令的文件
    1. echo "UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
    2. FLUSH PRIVILEGES;" > /tmp/init.sql
    复制代码
  • 克制MySQL服务
    1. sudo systemctl stop mysql
    复制代码
  • 以安全模式启动MySQL服务,并利用--init-file选项
    1. sudo mysqld_safe --init-file=/tmp/init.sql &
    复制代码
  • 等候MySQL服务启动并执行重置暗码下令
  • 重启MySQL服务
    1. sudo systemctl start mysql
    复制代码
方法4:利用MySQL的 --skip-grant-tables选项

1. 克制MySQL服务

首先,你必要克制正在运行的MySQL服务。在Linux体系中,你可以利用以下下令:
  1. sudo systemctl stop mysql
复制代码
大概,假如你利用的是较旧的体系,可能必要利用:
  1. sudo service mysql stop
复制代码
2. 以安全模式启动MySQL

接下来,以安全模式启动MySQL服务,这样你就可以不必要暗码就能登录。在启动时添加--skip-grant-tables参数:
  1. sudo mysqld_safe --skip-grant-tables &
  2. amp;
复制代码
3. 登录MySQL

现在,你可以登录到MySQL服务器,不必要暗码:
  1. mysql -u root
复制代码
4. 重置暗码

登录后,你必要重置root用户的暗码。首先,选择MySQL数据库:
  1. USE mysql;
复制代码
然后,更新root用户的暗码。请将new_password替换为你想要设置的新暗码:
  1. UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
复制代码
假如你利用的是MySQL 5.7.6及以上版本,可能必要利用以下下令:
  1. ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
复制代码
5. 重启MySQL服务

完成暗码重置后,退出MySQL客户端:
  1. exit
复制代码
然后,重启MySQL服务:
  1. sudo systemctl start mysql
复制代码
6. 登录验证

现在,你应该可以利用新设置的暗码登录MySQL了:
  1. mysql -u root
  2. -p
复制代码
输入新暗码,你应该可以或许成功登录。
留意事项



  • 在执行上述操作时,请确保你有足够的权限来克制和启动MySQL服务。
  • 在重置暗码之前,建议备份你的数据库,以防万一。
  • 假如你利用的是MySQL 5.7.6及以上版本,可能必要利用ALTER USER下令来重置暗码。
  • 假如你利用的是MariaDB(MySQL的一个分支),步骤可能略有差别。
假如你在重置暗码的过程中碰到任何标题,建议查阅MySQL的官方文档或寻求专业的技术支持。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表