MySQL密码忘了不要慌!3种找回姿势包教包会(附避坑指南)

场景再现:当登录窗口无情拒绝你时

“Access denied for user ‘root’@‘localhost’ (using password: YES)”——这行红字简直就是DBA的噩梦!上周三凌晨1点,我正准备给生产库加索引时,突然发现记了3年的root密码居然失效了(别问怎么发生的,问就是玄学)😭

别急着砸键盘!今天给大家分享亲测有效的三种密码重置大法,Windows/Linux通吃,附带操作雷区预警(血泪教训换来的啊!)

方案一:官方推荐安全模式(适合所有版本)

重点预警:MySQL 5.7.6版本之后,password字段改成了authentication_string,这个巨坑我踩过三次!

详细步骤:

  1. 停止MySQL服务(划重点!!)

    # Linux系统
    systemctl stop mysqld
    
    # Windows系统
    net stop mysql
    
  2. 创建临时启动配置(救命稻草)
    找到my.cnf(Linux)或my.ini(Windows),在[mysqld]段添加:

    skip-grant-tables
    
  3. 无密码登录(见证奇迹的时刻)

    mysql -u root
    
  4. 执行密码修改(注意字段名!!)

    -- MySQL 5.7.6之前
    UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root';
    
    -- MySQL 5.7.6之后
    UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
    
  5. 重启服务验证(别忘了删配置!!)

    # 删除skip-grant-tables配置后
    systemctl restart mysqld
    

方案二:初始化大法(适合全新安装)

这个方案适合刚装完就忘密码的菜鸟(别问我怎么知道的)

操作流程:

  1. 定位数据目录(找对地方是关键)

    mysqld --verbose --help | grep "datadir"
    
  2. 删除旧数据(勇士行为)

    rm -rf /var/lib/mysql/*
    
  3. 重新初始化(从头再来)

    mysqld --initialize --user=mysql
    
  4. 查看临时密码(藏在日志里!)

    grep 'temporary password' /var/log/mysqld.log
    

方案三:神秘模式(适合老司机)

这个方法需要同时操作两个终端,但绝对酷炫!

高阶玩法:

  1. 终端A启动调试模式

    mysqld_safe --skip-grant-tables &
    
  2. 终端B无密码登录修改

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
    
  3. 刷新权限(重要!!)

    FLUSH PRIVILEGES;
    

避坑指南(血泪总结)

  1. 修改密码后出现"ERROR 1819":密码强度不够!必须包含大小写+数字+特殊字符
  2. 修改后仍无法登录:检查authentication_string字段是否更新成功
  3. 忘记删除skip-grant-tables配置导致的安全漏洞(这个锅不能背!)
  4. Windows系统注意用管理员权限运行CMD
  5. 云数据库慎用这些方法!建议直接控制台重置

终极建议(保命要紧)

  • 重要密码记在1Password或KeePass里
  • 定期使用mysql_config_editor配置登录路径
  • 生产环境一定要配置备用管理员账号
  • 修改密码后立即测试登录(别等需要用时才发现没改成功)

最后送上灵魂拷问:你的数据库密码几年没换了?赶紧收藏本文,说不定明天就用上了呢!(别问我为什么知道你会需要)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值