How To Fetch Random Row From MySQL Database Table Without Numeric ID?
LIMIT 1 OFFSET N
(where N is from 0 to number of records-1) would be better, less records transferred from DB server, and no need to generate random data for the sort.
Additionally, some RMDBs might perform that offset very efficiently - but I don't know if MySQL will on your table definition, you should test the performance.