Архив метки: одна таблица

Маленькая хитрость при восстановлении из дампа MySQL

Довольно часто, системные администраторы делают дампы не какой то отдельной таблицы, а все базы целиком. Видимо примерно так:

mysqldump -ulogin -ppassword -ARqe --single-transaction | gzip -c > /nds/mysql/zwwes/`date +%Y-%m-%d`.gz

Отсюда возникает проблема: если нужно восстановить только одну базу из множества,  то её не достать — восстанавливаются сразу все.

Но! Костылем можно. Создаем пользователя, который имеет доступ только к одной базе:

create database dhcp2db;
create user 'dhcp'@'localhost' identified by 'password';
grant all on dhcp2db.* to 'dhcp'@'localhost';

И достаем из бекапа базы, под этим пользователем, сказав предварительно MySQL, игнорировать все ошибки (Access denied for user)

gunzip < 2017-12-10.gz | mysql -f -udhcp -pdhcp dhcp2db