Понадобилось сделать дамп всех таблиц, которые начинаются на “b_iblock*”. Классическим методом mysqldump database b_iblock* > dump.sql не полчится, т.к. в случае использования утилиты mysqldump логика выстраивается немного иная.
Для начала нужно осуществить выборку всех необходимых таблиц в отдельный файл:
mysql -NBe "show tables from database_name like 'b_iblock%';" > b_iblock_tables.txt
Если возникает ошибка ERROR 1046 (3D000) at line 1: No database selected, то очевидно, что надо указать БД:
mysql -NBe "your query;" database_name > b_iblock_tables.txt
В команде используются ключи:
-e – команда для выполнения в БД
-B – убрать обрамление вывода MySQL (рамку вокруг текста)
-N – не указывать имена столбцов в результатах
И уже потом делается дамп на основе полученного файла, содержимое которое выводится в консоль:
mysqldump -u root database `cat b_iblock_tables.txt` | /bin/gzip > b_iblock_tables.sql.gz