This paper focuses on the attitude control problem of small agile satellites using single-gimbal control moment gyros (CMG) and magnetic torquers (MTQ). CMGs are regarded as effective torque generators for agile satellites because of their torque amplification capability. However, they are vulnerable to failure due to their complex inner mechanism. In this paper, different failure cases of CMGs are analyzed. A flexible failure-tolerant control strategy is developed by automatically redistributing the required control torque among the operating CMGs and MTQs, with a variable limiter to accommodate the actuator dynamics changes introduced by CMG failures. The performances of maneuvers about different directions under different failure cases are also discussed and examined. Numerical simulations demonstrate that the proposed strategy maintains certain agility in the cases of one or two CMGs failing. Moreover, a survival strategy with only one CMG left is also verified. Both sun-pointing stabilization and earth-pointing stabilization can be achieved in this case, which fulfill some basic mission requirements.