Разные, на мой взгляд, интересные замечания, связанные с компьютерами в частности и техникой вообще.

вторник, 17 июля 2012 г.

MySQL: Дамп всех таблиц с определённым префиксом

Попалась недавно одна кривая база. В ней были одновременно два проекта. У одного из них для всех таблиц использовался один префикс(условно xxx_), у другого соответственно другой(скажем yyy_). Понадобилось разделить эту таблицу на две разных. Были идеи дампить каждую таблицу отдельно, а потом в консоли объединять cat'ом или писать скрипт, который по регекспу сдампит только те таблицы, что мне нужны. Но оба решения мне показались костылями, поэтому немного подумав пришёл в итоге к такому вот решению(параметры -u, -p, -h опустил намеренно для наглядности): mysql -NB information_schema -e "select table_name from tables where table_name like 'prefix_%'" | xargs mysqldump dbname > only_prefix.sql