Export a subset of data, from mysql production database, to make a test database
I doubt that there's a cookie-cutter approach, but the way I did it in the past went roughly as follows:


Pick some critical tables that must be populated for proper testing, preferably which have many dependencies, e.g. OrderDetail.
Create a new database with the same schema except no foreign key enforcement.
Randomly pick some rows from the source database, e.g. top 50 ordered by something pseudo-random, and insert into the new database.
Get all rows that they depend on and insert into the new database.
Repeat until no more rows are inserted.
Turn foreign key enforcement on.


It's slow and has many manual steps, but it worked for me.