Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 021 990 раз!

Форум

Добро пожаловать, Гость!

Дамп БД с помощью mysqldump.exe

Вопросы по работе с Apache, Nginx, PHP, MySQL, Sendmail и т.д.
San4
Сообщения: 4
C нами: 1 год 5 мес

Непрочитанное сообщение San4 » 24 июн 2015, 09:36

Здравствуйте, подскажите чайнику: как сделать дамп конкретной БД, используя для этого утилиту mysqldump.exe.
Уже много гуглил: на денвере расписано, что да как нужно сделать. А как конкретно сделать на open-server - не могу найти никакой конкретной инфы.
Пробовал вводить различные команды в консоли (какие нагуглил) - ничего не получается. Я в командной строке вообще ничего не понимаю! могу дамп сделать через phpMyAdmin, но мне нужно через mysqldump.

Аватара пользователя
Ink0gnit0
Сообщения: 23
C нами: 3 года 8 мес

Непрочитанное сообщение Ink0gnit0 » 24 июн 2015, 12:35

San4, В самом элементарном случае:
mysqldump.exe --user=[имя_пользователя] --password=[пароль_пользователя] --databases [наименование_бд] > [путь_к_каталогу_куда_сохранять_дамп]\[наименование_дампа].sql
или
mysqldump.exe -u[имя_пользователя] -p[пароль_пользователя] [наименование_бд] > [путь_к_каталогу_куда_сохранять_дамп]\[наименование_дампа].sql

За дополнительными параметрами, обращайтесь к справке по утилите:
mysqldump --help

San4
Сообщения: 4
C нами: 1 год 5 мес

Непрочитанное сообщение San4 » 24 июн 2015, 19:40

спасибо!!!, получилось!
ввел такую команду в консоли open-server:
mysqldump.exe --user=root --databases mydb > D:\backup\mybd.sql

если пароля нет, то я так думаю его можно исключить из команды?

Если не трудно:
дайте команду, чтобы дамп сразу архивировался при экспорте.
И команду импорта сторонней БД :roll:
(справку посмотрел - но для меня это темный лес. Может и найду, но я совсем не знаю правила синтаксиса в командной строке.)

Аватара пользователя
Ink0gnit0
Сообщения: 23
C нами: 3 года 8 мес

Непрочитанное сообщение Ink0gnit0 » 24 июн 2015, 23:20

San4,
Для создания RAR-архивов (winrar должен быть активирован):
@ECHO OFF

SET usr="root"
SET db="mydb"
SET backupspath=d:\backups\

PATH = %PATH%;[путь_к_каталогу_с_утилитой_mysqldump];[путь_к_каталогу_winrar];

IF NOT EXIST %backupspath% mkdir %backupspath%

For /f "tokens=1-3 delims=/. " %%a in ('date /t') do (set backupdate=%%c%%b%%a)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set backuptime=%%a%%b)

mysqldump --user=%usr% --databases %db% > %backupspath%%db%_%backupdate%_%backuptime%.sql

rem ============ RAR ============
rar a -m5 -df -ep "%backupspath%%db%_%backupdate%_%backuptime%.rar" "%backupspath%%db%_%backupdate%_%backuptime%.sql"
rem -m[0-5] - степень сжатия: 0 - без сжатия, 1 - скоростной, 2 - быстрый, 3 - обычный, 4 - хороший, 5 - максимальный
rem -df - удалять исходный файл (*.sql) после архивации
rem -ep - не включать полный путь в архив


Для создания ZIP-архивов:
@ECHO OFF

SET usr="root"
SET db="mydb"
SET backupspath=d:\backups\

PATH = %PATH%;[путь_к_каталогу_с_утилитой_mysqldump];[путь_к_каталогу_7-zip];

IF NOT EXIST %backupspath% mkdir %backupspath%

For /f "tokens=1-3 delims=/. " %%a in ('date /t') do (set backupdate=%%c%%b%%a)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set backuptime=%%a%%b)

mysqldump --user=%usr% --databases %db% > %backupspath%%db%_%backupdate%_%backuptime%.sql

rem ============ ZIP ============
rem 7z a -mx9 -sdel -tzip "%backupspath%%db%_%backupdate%_%backuptime%.zip" "%backupspath%%db%_%backupdate%_%backuptime%.sql"
rem -mx[1|3|5|7|9] - степень сжатия
rem -sdel - удалять исходный файл (*.sql) после архивации
rem -tzip - создавать zip-архив вместо дефолтного 7z

San4
Сообщения: 4
C нами: 1 год 5 мес

Непрочитанное сообщение San4 » 25 июн 2015, 08:12

:o офигеть! я думал там пару значений подставвить нужно было.
тогда для меня проще полученный дамп.sql уже потом самому заархивировать в пару кликов, через графический интерфейс WinRar.

Аватара пользователя
Asmodey
Сообщения: 299
C нами: 4 года 7 мес

Непрочитанное сообщение Asmodey » 25 июн 2015, 10:48

San4 писал(а):я думал там пару значений подставвить нужно было.


Попробуйте разобраться :) Подход пригодится для автоматизации бэкапов.
Реализована куча приятных/необходимых мелочей!

ЗЫ. Ручками надоест на второй неделе.

San4
Сообщения: 4
C нами: 1 год 5 мес

Непрочитанное сообщение San4 » 25 июн 2015, 13:54

да, Ink0gnit0, спасибо! может и пригодится!
По поводу создания дампа и архивирования его в gzip нашел вот такую команду:
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz
и она работает - на выходе получаю архив .gz :shock: чем она отличается от предыдущих?
[spoiler="офтоп"]Ранее, я чего-то у себя сам натворил с утилитой mysqldump.exe. (постоянно выдавала ошибку: «не является приложением win32»)
Из-за этого у меня и не срабатывали команды в консоли. Я тогда подумал, что для консоли open-servera нужны другие команды. В итоге все ранее нагугленные мной команды – не работали.[/spoiler]

Аватара пользователя
Ink0gnit0
Сообщения: 23
C нами: 3 года 8 мес

Непрочитанное сообщение Ink0gnit0 » 25 июн 2015, 16:46

San4, Конечный результат практически ничем не отличается, разве что степенью сжатия и сохранением истории бэкапов. Только скопируйте gzip в каталог, где расположен mysqldump. Запускать скрипт также нужно будет из этого каталога. Если хотите запускать команду из любого другого, добавьте путь к gzip и mysqldump в PATH переменных окружения.
Если вам не нужно хранить предыдущие бэкапы, тогда для вашего случая команда упрощается до:
mysqldump -uroot mydb | gzip > d:\backup\mydb.sql.gz
или
mysqldump -uroot -pr00t mydb | gzip > d:\backup\mydb.sql.gz


Вернуться в «Модули и инструменты»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей