SELECT *
FROM X
WHERE flags = 0
ORDER BY rand()
LIMIT 1
Isso recupera 1 linha aleatória. Substitua 1 por N para obter N linhas aleatórias.
Advertência:Como outros apontaram, isso pode ser lento, pois precisa de uma verificação completa da tabela. Eu costumava fazer isso com o DB2, onde funcionava perfeitamente para tabelas com centenas de milhares de linhas, mas de acordo com o link em resposta de tereško , o MySQL parece se degradar muito mais rápido.