Страница 1 из 2
Дамп БД с помощью mysqldump.exe
Добавлено: 24 июн 2015, 09:36
San4
Здравствуйте, подскажите чайнику: как сделать дамп конкретной БД, используя для этого утилиту mysqldump.exe.
Уже много гуглил: на денвере расписано, что да как нужно сделать. А как конкретно сделать на open-server - не могу найти никакой конкретной инфы.
Пробовал вводить различные команды в консоли (какие нагуглил) - ничего не получается. Я в командной строке вообще ничего не понимаю! могу дамп сделать через phpMyAdmin, но мне нужно через mysqldump.
Добавлено: 24 июн 2015, 12:35
Ink0gnit0
San4, В самом элементарном случае:
mysqldump.exe --user=[имя_пользователя] --password=[пароль_пользователя] --databases [наименование_бд] > [путь_к_каталогу_куда_сохранять_дамп]\[наименование_дампа].sql
или
mysqldump.exe -u[имя_пользователя] -p[пароль_пользователя] [наименование_бд] > [путь_к_каталогу_куда_сохранять_дамп]\[наименование_дампа].sql
За дополнительными параметрами, обращайтесь к справке по утилите:
mysqldump --help
Добавлено: 24 июн 2015, 19:40
San4
спасибо!!!, получилось!
ввел такую команду в консоли open-server:
mysqldump.exe --user=root --databases mydb > D:\backup\mybd.sql
если пароля нет, то я так думаю его можно исключить из команды?
Если не трудно:
дайте команду, чтобы дамп сразу архивировался при экспорте.
И команду импорта сторонней БД
(справку посмотрел - но для меня это темный лес. Может и найду, но я совсем не знаю правила синтаксиса в командной строке.)
Добавлено: 24 июн 2015, 23:20
Ink0gnit0
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
Добавлено: 25 июн 2015, 08:12
San4
офигеть! я думал там пару значений подставвить нужно было.
тогда для меня проще полученный дамп.sql уже потом самому заархивировать в пару кликов, через графический интерфейс WinRar.
Добавлено: 25 июн 2015, 10:48
Asmodey
San4 писал(а):я думал там пару значений подставвить нужно было.
Попробуйте разобраться
Подход пригодится для автоматизации бэкапов.
Реализована куча приятных/необходимых мелочей!
ЗЫ. Ручками надоест на второй неделе.
Добавлено: 25 июн 2015, 13:54
San4
да,
Ink0gnit0, спасибо! может и пригодится!
По поводу создания дампа и архивирования его в gzip нашел вот такую команду:
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz
и она работает - на выходе получаю архив .gz
чем она отличается от предыдущих?
[spoiler="офтоп"]Ранее, я чего-то у себя сам натворил с утилитой mysqldump.exe. (постоянно выдавала ошибку: «не является приложением win32»)
Из-за этого у меня и не срабатывали команды в консоли. Я тогда подумал, что для консоли open-servera нужны другие команды. В итоге все ранее нагугленные мной команды – не работали.[/spoiler]
Добавлено: 25 июн 2015, 16:46
Ink0gnit0
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
Re: Дамп БД с помощью mysqldump.exe
Добавлено: 28 авг 2021, 00:16
acvarif
У меня не получилось. Включил redis php.ini и создал команду в планировщике
mysqldump.exe --user=root --password=root --databases workflownew > D:\backup\mybd.sql
Перезапустил сервер. Не работает.
Время выставил так 0-59 0-23 1-31 1-12 1-7
Подскажите пожалуйста что не так?
Ну. Да. Время не правильно. Так правильно */1 * * * *
Но всеравно не работает.
Предполагаю что с путями к mysqldump.exe и D:\backup\mybd.sql что-то не так.
Пока не пойму, что.
Re: Дамп БД с помощью mysqldump.exe
Добавлено: 29 авг 2021, 18:07
Максим
acvarif писал(а): ↑28 авг 2021, 00:16
У меня не получилось. Включил redis php.ini и создал команду в планировщике
mysqldump.exe --user=root --password=root --databases workflownew > D:\backup\mybd.sql
Перезапустил сервер. Не работает.
Время выставил так 0-59 0-23 1-31 1-12 1-7
Подскажите пожалуйста что не так?
Ну. Да. Время не правильно. Так правильно */1 * * * *
Но всеравно не работает.
Предполагаю что с путями к mysqldump.exe и D:\backup\mybd.sql что-то не так.
Пока не пойму, что.
Указывайте полный путь к mysqldump.exe в задании.