====== MySQL ======
Создаём новую базу данных
mysqladmin -u USER -pPASSWORD create NEWDATABASE
или:
mysql -u root -p -e "CREATE DATABASE ${DB}; \
GRANT ALL PRIVILEGES ON ${DB}.* TO \"${DBUSER}\"@\"localhost\" \
IDENTIFIED BY \"${DBPASS}\"; \
FLUSH PRIVILEGES;"
===== mysqldump =====
Дамп:
mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql
Структура базы без данных:
mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sql
Дамп нескольких таблиц:
mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_tables.sql
Бекап с архивиацией и указанием даты создания:
mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +/path/to/backup.sql.%Y%m%d.%H%M%S.gz`
Удобно использовать mysqldump с дополнительными опциями:
* -Q оборачивает имена обратными кавычками
* -c делает полную вставку, включая имена колонок
* -e делает расширенную вставку. Итоговый файл получается меньше и делается он чуть быстрее
===== Восстановление данных =====
Заливаем дамп в базу данных
mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sql
Заливаем архив бекапа в базу
gunzip < /path/to/backup.sql.gz | mysql -u USER -pPASSWORD DATABASE
или так
zcat /path/to/backup.sql.gz | mysql -u USER -pPASSWORD DATABASE
{{tag> mysql mysqldump sql dump}}