Я окончательно решил эту проблему, написав сценарий bash, целью которого является создание временной базы данных, используя для этого файл дампа, чтобы можно было редактировать данные напрямую с некоторыми базовыми запросами SQL.
После этого шагаготово, сценарий будет выгружать эту новую базу данных перед ее удалением.
Итак, я выполнил процесс:
Выгрузил реальную базу данных, используя gzip, чтобы немного сжать ее (супер полезно для большихБазы данных):
mysqldump -h ${HOST} -u ${USER} -p${PASSWORD} $1 | gzip > $2
Создание временной базы данных:
mysql -e "CREATE DATABASE IF NOT EXISTS $1temp" -h ${HOST} -u ${USER} -p${PASSWORD}
Применение дампа к новой базе данных:
gunzip < $2 | mysql -h ${HOST} -u ${USER} -p${PASSWORD} $1"temp"
Обновление новой базы данных (в этомВ качестве примера я использую soundex для анонимизации данных в более простом примере, но вы также можете влиять на реальные значения, создав ранее другую базу данных с реальными именами в ней и случайно выбрав некоторые из них для обновления этой:
mysql -e "UPDATE individu SET NAME=SOUNDEX(NAME)" $1"temp"
Вывод временной базы данных в «реальную»:
mysqldump -h ${HOST} -u ${USER} -p${PASSWORD} $1"temp" | gzip > $2
И, наконец, удаление временной базы:
mysql -e "DROP DATABASE IF EXISTS $1anom" -h ${HOST} -u ${USER} -p${PASSWORD} $1"temp"
Примечание.Это оптимальное решение, но оно очень хорошо соответствует моим ожиданиям. Если у вас есть лучшее решение, напишите его ниже:)