Oto przykład, który powinien pomóc:
INSERT INTO `sometable` VALUES(
FROM_UNIXTIME(
UNIX_TIMESTAMP('2010-04-30 14:53:27') + FLOOR(0 + (RAND() * 63072000))
)
)
Używa daty 2010-04-30 14:53:27
jako baza, konwertuje ją na uniksowy znacznik czasu i dodaje losową liczbę sekund od 0 do +2 lat do daty bazowej i konwertuje ją z powrotem na DATETIME.
Powinno być całkiem blisko, ale w dłuższych okresach czasu, lata przestępne i inne korekty mogą to zniweczyć.