delete_admin_log_direct.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/bash
  2. # 数据库连接信息
  3. DB_NAME="www_359844_cn"
  4. DB_USER="www_359844_cn"
  5. DB_PASSWORD="kdGSRtw4hy5HJAjc"
  6. DB_HOST="localhost"
  7. DB_PORT="3306"
  8. # 表名和条件
  9. TABLE_NAME="fa_admin_log"
  10. CONDITION="admin_id = 3"
  11. echo "开始删除数据库 $DB_NAME 中表 $TABLE_NAME 的数据..."
  12. echo "删除条件: $CONDITION"
  13. # 首先查询要删除的数据数量
  14. echo "查询要删除的数据数量..."
  15. COUNT_QUERY="SELECT COUNT(*) as count FROM $TABLE_NAME WHERE $CONDITION;"
  16. COUNT_RESULT=$(mysql -h$DB_HOST -P$DB_PORT -u$DB_USER -p$DB_PASSWORD $DB_NAME -e "$COUNT_QUERY" 2>/dev/null | tail -n 1)
  17. if [ $? -eq 0 ]; then
  18. echo "将要删除 $COUNT_RESULT 条数据"
  19. # 直接执行删除操作
  20. echo "正在执行删除操作..."
  21. DELETE_QUERY="DELETE FROM $TABLE_NAME WHERE $CONDITION;"
  22. mysql -h$DB_HOST -P$DB_PORT -u$DB_USER -p$DB_PASSWORD $DB_NAME -e "$DELETE_QUERY"
  23. if [ $? -eq 0 ]; then
  24. echo "删除成功!"
  25. # 验证删除结果
  26. VERIFY_QUERY="SELECT COUNT(*) as count FROM $TABLE_NAME WHERE $CONDITION;"
  27. VERIFY_RESULT=$(mysql -h$DB_HOST -P$DB_PORT -u$DB_USER -p$DB_PASSWORD $DB_NAME -e "$VERIFY_QUERY" 2>/dev/null | tail -n 1)
  28. echo "删除后剩余符合条件的记录数: $VERIFY_RESULT"
  29. else
  30. echo "删除失败!请检查数据库连接和权限。"
  31. exit 1
  32. fi
  33. else
  34. echo "查询失败!请检查数据库连接信息。"
  35. exit 1
  36. fi