Denwer. Экспорт-импорт БД

Denwer. Экспорт-импорт БД

При администрировании сайтов необходимо делать резервное копирование(дамп) баз данных, а также обратный импорт этих резервных копий.
Для реализации экспорта и импорта баз данных широко применяется серверное приложение mysqldump.
К сожалению, это приложение отсутствует в стандартном наборе локального сервера Denwer. Поэтому, сначала нам нужно его установить.
Скачать приложение mysqldump можно этой ссылке.

Копируем скачанный файл mysqldump.exe в папку с денвером:
I:\WebServers\usr\local\mysql-5.5\bin
В вашем случае путь до папки bin будет отличаться от приведенного здесь.
Запускаем в Windows консоль командной строки:
Пуск->Выполнить->cmd.exe
Далее выполняем команду
mysqldump
и получаем подсказку по синтаксису этой команды (см. скриншот)

Рис. 4



Как видим, команда выполняется из любой папки на локальном сервере, поскольку путь до исполняемого файла mysqldump.exe уже добавлен ранее в переменную среды PATH.
Теперь создадим папку для хранения резервных копий БД, выполнив команду:
mkdir I:\dump
Рассмотрим некоторые команды для создания резервных копий БД, а также для их импорта.
mysqldump -uroot test>D:\test\easydump.sql

mysql -uroot test

Создание дампа
mysqldump –uUSER -h82.82.82.82 -pPASSWORD DATABASE > /path/to/file/dump.sql

где:

-u или --user=... — имя пользователя

-h или --host=... — удаленный хост (для локального хоста можно опустить этот параметр)

-p или --password — запросить пароль

database — имя экспортируемой базы данных

/path/to/file/dump.sql— путь и файл для дампа

Создаем структуру базы без данных

Для этого необходимо использовать параметр --no-data как показано на примере ниже:

mysqldump --no-data - uUSER -pPASSWORD DATABASE > /path/to/file/schema.sql

Создаем дамп только одной или нескольких таблиц БД

mysqldump -uUSER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > dump.sql

Создаем дамп и архивируем его в gzip

mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz

Создаем дамп с указанием даты в имени файла

mysqldump -uUSER -pPASSWORD DATABASE | gzip > `date +dump.sql.%Y%m%d.%H%M%S.gz`

mysqldump -uroot -p orelhorr_hor2 | gzip > I:\dump\orelhorr_hor2_%date:~0,2%_%date:~3,2%_%date:~6,4%.sql.gz
Дата в cmd:
set date=%date%//Присваивание текущей даты
_%date:~0,2%_%date:~3,2%_%date:~6,4%//Формат _14_05_2019
set date=//Обнуление сессии

Если ошибка "mysql: Character set 'cp1251' is not a compiled character set and is not specifi
ed in the 'C:\mysql\\share\charsets\Index.xml' file"

Проследите, чтобы в конфигурационном файле my.ini директива default-character-set присутствовала только в секции [mysqld] и отсутствовала в секции [mysql]. В большинстве случаев проблема заключается именно в этом.



<<<Назад            Далее >>>