SELECT *
FROM X
WHERE flags = 0
ORDER BY rand()
LIMIT 1
Esto recupera 1 fila aleatoria. Reemplace 1 por N para obtener N filas aleatorias.
Advertencia:como otros señalaron, esto puede ser lento ya que necesita un escaneo completo de la tabla. Solía hacer esto con DB2, donde funcionó perfectamente para tablas con cientos de miles de filas, pero según el enlace en respuesta de tereško , MySQL parece degradarse mucho más rápido.