Дамп базы данных MySQL за пару минут
Debian, MySQL, Ubuntu, В помощь веб-разработчику 18.01.2008Ситуация: на удаленном сервере вашего клиента нужно (срочно) сделать дамп (располневшей на много-много мегабайт) базы данных MySQL. phpMyAdmin для этого не годится. При этом у вас есть доступ к удаленному серверу через SSH и конечно же имя пользователя и пароль к серверу MySQL.
Решение: использовать утилиту mysqldump, входящую, так сказать, в комплект поставки сервера баз данных MySQL. Запускаем mysqldump со следующими параметрами (обратите внимание: я разбил пример на две строки; в реальной ситуации должна быть одна строка):
mysqldump --user=mysql_user –password –default-character-set=cp1251 database > ./database.cp1251.sql
После запуска mysqldump спросит пароль пользователя mysql_user для доступа к базе данных database и, если пароль указан верно, сделает дамп базы данных в файл ./database.cp1251.sql. Обратите внимание, что если убрать перенаправление вывода (знак > и все, что следует после него), то mysqldump выведет дамп на консоль.
Замечание. Параметр
default-character-setпозволяет указать используемую в базе данных кодировку. В этой же кодировке будут данные в файле с дампом.
Когда дамп базы готов, его можно скачать на свой компьютер (например, при помощи sshfs). Перед этим удобно зажать файл с дампом при помощи gzip? или bzip2?:
gzip ./database.cp1251.sql
или:
bzip2 ./database.cp1251.sql
Узнать больше о mysqldump можно в этом подробном руководстве.
11.07.2008 в 10:09
Добрый день!
Можно задать вопрос по теме? У нас исчез сайт, вместо него пустая страница, хостер отвечает, что все дело в отсутствии дампа базы данных. Все данные сохранены на компьютере в программе-редакторе, которая продолжает работать и загружать файлы на сайт, но они там так и не отображаются. Что делать и где взять этот дамп?
30.07.2008 в 11:55
А вы делали периодически дампы базы данных (т.е. резервные копии содержимого базы данных) вашего сайта? Если делали, тогда очень легко восстановить функционал вашего сайта: достаточно просто используя phpMyAdmin или похожее средство загрузить дамп на сервер и восстановить базу данных. Если же вы не делали резервных копий, все будет труднее. Скорее всего получится восстановить сайт только в таком виде, в каком он был предоставлем вам разработчиком.
10.08.2008 в 21:41
Elly, а хостеры разве подсказать не могут? И где ваш программист?
05.10.2008 в 12:02
У каждого уважающего себя хостера должен быть дамп вашего сайта. Так что на мой взгляд вы им можете предъявлять претензии.
10.06.2009 в 12:51
Но иногда надо самому сделать дамп, а каждый раз писать в техподдержку лень
26.03.2010 в 18:29
Если говорить о хостинге, где нет SSH то более полезным будет пример с –host=… и –port=… , позволяющий сделать дамп с удаленного сервера на локальную машину (с любой операционкой, поддерживаемой MySQL). - Благо многие провайдеры уже дают прямой доступ к MySQL (только включить его нужно администратору сайта).
А еще более полезным будет скрипт, который делает такой дамп самостоятельно и регулярно.
Много-много мегабайт при современном уровне Интернета уже не проблема.
27.03.2010 в 22:14
yutemp, спасибо за ценный комментарий! Действительно, это хороший альтернативный способ сделать дамп.