Denwer. Экспорт-импорт БД
При администрировании сайтов необходимо делать резервное копирование(дамп) баз данных, а также обратный импорт этих резервных копий.
Для реализации экспорта и импорта баз данных широко применяется серверное приложение mysqldump.
К сожалению, это приложение отсутствует в стандартном наборе локального сервера Denwer. Поэтому, сначала нам нужно его установить.
Скачать приложение mysqldump можно этой ссылке.
Копируем скачанный файл mysqldump.exe в папку с денвером:
I:\WebServers\usr\local\mysql-5.5\bin
В вашем случае путь до папки bin будет отличаться от приведенного здесь.
Запускаем в Windows консоль командной строки:
Пуск->Выполнить->cmd.exe
Далее выполняем команду
mysqldump
и получаем подсказку по синтаксису этой команды (см. скриншот)
Как видим, команда выполняется из любой папки на локальном сервере, поскольку путь до исполняемого файла mysqldump.exe уже добавлен ранее в переменную среды PATH.
Теперь создадим папку для хранения резервных копий БД, выполнив команду:
mkdir I:\dump
Рассмотрим некоторые команды для создания резервных копий БД, а также для их импорта.
mysqldump -uroot test>D:\test\easydump.sql
mysql -uroot test Создание дампа где: -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 Если ошибка "mysql: Character set 'cp1251' is not a compiled character set and is not specifi Проследите, чтобы в конфигурационном файле my.ini директива default-character-set присутствовала только в секции [mysqld] и отсутствовала в секции [mysql]. В большинстве случаев проблема заключается именно в этом.
mysqldump –uUSER -h82.82.82.82 -pPASSWORD DATABASE > /path/to/file/dump.sql
Дата в cmd:
set date=%date%//Присваивание текущей даты
_%date:~0,2%_%date:~3,2%_%date:~6,4%//Формат _14_05_2019
set date=//Обнуление сессии
ed in the 'C:\mysql\\share\charsets\Index.xml' file"