Jag skulle inte göra detta i MySQL utan hjälp utifrån från en applikation skriven i Python.
Det finns flera krav inbyggda i ditt uttalande som bäst uttrycks i en procedurstil. SQL är ett uppsättningsbaserat språk; Jag tycker inte att det lämpar sig lika bra för uppgiften.
Du vill att ett program ska ta in data från en källa, göra vilken randomisering och PII-borttagning du behöver och sedan konstruera testdata enligt dina krav.
Om det är en databas som bara är avsedd för test, kan du överväga en databas i minnet som du kan fylla i, ändra allt du vill och sedan blåsa bort för ditt nästa test. Jag funderar på något som Hypersonic eller Derby eller TimesTen.