Non lo farei in MySQL senza l'aiuto esterno di un'applicazione scritta in Python.
Ci sono diversi requisiti incorporati nella tua dichiarazione che si esprimono al meglio in uno stile procedurale. SQL è un linguaggio basato su insiemi; Non credo che si presti altrettanto bene al compito da svolgere.
Vorrai che un'applicazione acquisisca i dati da un'origine, esegua la randomizzazione e la rimozione delle PII di cui hai bisogno, quindi costruisca i dati di test in base alle tue esigenze.
Se si tratta di un database destinato solo al test, potresti prendere in considerazione un database in memoria che puoi popolare, modificare tutto ciò che desideri e quindi spazzare via per il tuo prossimo test. Sto pensando a qualcosa come Hypersonic o Derby o TimesTen.