Робота з резервними копіями бази даних MySQL за допомогою mysqldump
Привіт:) У цьому пості зібрав найуживаніші команди утиліти mysqldump для роботи з резервними копіями MySQL.
Створення резервної копії
mysqldump -u USER -p PASSWORD DATABASE > /path/to/file/dump.sql
// для Windows
// mysqldump -uroot -proot db_name > D:/dump.sql
Створення структури БД (без даних)
mysqldump --no-data -u USER -p PASSWORD DATABASE > /path/to/file/schema.sql
Створення дампу однієї або декількох таблиць
mysqldump -u USER -p PASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sql
Створення дампу та його архівація
mysqldump -u USER -p PASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz
Створення бекапу з вказанням його дати
mysqldump -u USER -p PASSWORD DATABASE | gzip > date +/path/to/outputfile.sql.%Y%m%d.%H%M%S.
Відвантаження бекапу в базу даних
mysql -u USER -p PASSWORD DATABASE < /path/to/dump.sql
Відвантаження архіву бекапу в базу даних
// варіант 1
gunzip < /path/to/outputfile.sql.gz | mysql -u USER -p PASSWORD DATABASE
// варіант 2
zcat /path/to/outputfile.sql.gz | mysql -u USER -p PASSWORD DATABASE
Створення нової бази даних
mysqladmin -u USER -p PASSWORD create NEWDATABASE
Бекап з додатковими опціями -Q -c -e
mysqldump -Q -c -e -u USER -p PASSWORD DATABASE > /path/to/file/dump.sql
- -Q обертає імена зворотними лапками
- -c робить повну вставку, включаючи імена колонок
- -e робить розширену вставку. Кінцевий файл виходить меншим і створюється він трохи швидше
Перегляд списку баз даних
// варіант 1
mysqlshow -u USER -p PASSWORD
// варіант 2
mysqlshow -u USER -p PASSWORD DATABASE
