资讯动态

磁盘爆满、MySQL密码失效?一次搞定两个运维“拦路虎“!

发布时间:2026/9/2 17:31:47 来源:尧图企业网站定制
日常工作中总会遇到各种突发状况包括磁盘空间爆满以及MySQL密码失效以下覆盖日常运维中使用的临时与长期解决方案一、磁盘空间爆满紧急处理1. 快速定位大文件# 方法一当前目录下各文件/目录大小排序 du -sh * | sort -rh ​ # 方法二全局查找大文件推荐 find / -type f -size 1G -exec ls -lh {} \; 2/dev/null | sort -k5 -hr ​ # 方法三查看磁盘分区使用情况 df -h2. 临时清理方案当需要保留特定日期的文件删除其他所有文件时# 第一步预览要删除的文件安全确认 ls -la | grep -v 202608 ​ # 第二步确认无误后执行删除 ls | grep -v 202608 | xargs rm -rf ​3. 长期自动化清理方案清理脚本#!/bin/bash RETENTION_DAYS3 LOG_FILE/var/log/cleanup.log DIRS/home/projDir/tool/src /home/projDir/data/mdv/radar/cart log() { echo [$(date %Y-%m-%d %H:%M:%S)] $1 | tee -a $LOG_FILE; } log 开始清理保留${RETENTION_DAYS}天 for dir in $DIRS; do [ -d $dir ] find $dir -type f -mtime $RETENTION_DAYS -delete 2/dev/null \ log ✓ $dir 清理完成 || log ✗ $dir 不存在或无需清理 done log 清理结束给予脚本权限 chmod x /home/projDir/tool2/src/clean.sh1️⃣ 设置规则保留3天2️⃣ 循环目录挨个处理3️⃣ 执行删除找到旧文件 → 删掉文件18月28日修改 → 超过3天 → 被删掉 ✅文件28月29日修改 → 超过3天 → 被删掉 ✅文件38月30日修改 → 3天前 → 保留因为 3 不含等于文件48月31日修改 → 1天前 → 保留文件59月1日修改 → 今天 → 保留核心解释 在$dir目录里找出修改时间超过$RETENTION_DAYS天的普通文件然后删掉核心参数拆解参数含义find查找命令$dir在哪个目录找-type f只找文件不找目录-mtime 3修改时间 3天前即4天前及更早-delete删掉找到的文件2/dev/null错误信息扔进黑洞不显示4. 配置定时任务# 编辑定时任务 crontab -e ​ # 推荐每周日凌晨2点执行 0 2 * * 0 /home/projDir/tool2/src/clean.sh ​ # 或每7天执行一次 0 0 */7 * * /home/projDir/tool2/src/clean.sh二、精简核心的定期清理方案针对单一目录的快速清理#!/bin/bash DIRS/home/projDir/tool/src find $DIRS -type f -mtime 3 -print -delete 2/dev/null解释在 /home/projDir/tool/src 目录中找出修改时间超过3天的普通文件先显示文件名再删除错误信息不显示。三、MySQL密码修复与用户管理1. 检查MySQL服务状态# 查看MySQL进程 ps aux | grep mysql | grep -v grep ​ # 查看服务状态 systemctl status mysql2. 安全模式启动MySQL# 停止MySQL服务 systemctl stop mysql # 跳过权限表启动 mysqld_safe --skip-grant-tables --skip-networking --usermysql # 无密码登录 mysql -u root--skip-networking禁止远程连接3. msyql修复密码步骤在MySQL命令行中执行​-- 第一步刷新权限使修改生效 FLUSH PRIVILEGES; -- 第二步修改 admin 用户的密码支持本地和远程连接 ALTER USER adminlocalhost IDENTIFIED WITH mysql_native_password BY xiufu123; ALTER USER admin% IDENTIFIED WITH mysql_native_password BY xiufu123; 如没有则创建 -- 第三步创建 admin 用户本地访问 CREATE USER adminlocalhost IDENTIFIED BY xiufu123; GRANT ALL PRIVILEGES ON *.* TO rootlocalhost WITH GRANT OPTION; -- 第四步创建 root 用户远程访问 CREATE USER admin% IDENTIFIED BY xiufu123; GRANT ALL PRIVILEGES ON *.* TO root% WITH GRANT OPTION; -- 第五步再次刷新权限 FLUSH PRIVILEGES; -- 第六步退出MySQL EXIT;4. 恢复正常模式并验证# 停止安全模式MySQL killall mysqld_safe killall mysqld # 正常启动MySQL systemctl start mysql # 验证登录 mysql -u admin -pxiufu123 -e SELECT 1运维中一键故障排查脚本#!/bin/bash # 快速检查脚本 echo 磁盘使用情况 df -h | grep -v tmpfs echo -e \n 大文件前10查询 find / -type f -size 500M -exec ls -lh {} \; 2/dev/null | sort -k5 -hr | head -10 echo -e \n MySQL服务状态 systemctl status mysql --no-pager | head -5 echo -e \n 系统负载 uptime echo -e \n 内存使用 free -h

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价