MySQL split dump to table

Здравейте,

В продължение на поста MySQL split dump to different databases

от миналата година, днес ще споделя как бързо и лесно можем да извадим определена таблица от dump-a на MySQL базата ни. Разбира се ако базата ние малка можем да отворим този dump и да си копираме съдържанието на таблицата в текстов редактор, но когато базата ни е 100гб това няма да е възможно.

 

Тук идва на помощ sed и решението е :

sed -n -e '/CREATE TABLE.*`fc_company`/,/CREATE TABLE/p' 201709140001-db-CRM.sql > fc_company.sql

Тук нещата изглеждат напълно ясни, но да обесня :

  1. fc_company е таблицата която искаме да извадим
  2. 201709140001-db-CRM.sql е името на dump-а ни
  3. fc_company.sql е името на новият dump съдържащ само таблицата ни

Хубаво е да се прегледа след това самия fc_company.sql файл, тъй като sed понякога хваща и началото на други таблици и ги дропи 🙂 Такъв пример е ако имаме таблица fc_compay_new примерно.

Това е!