![]() |
Показаны 32 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- MySQL (http://netadmin.ws/forum/forumdisplay.php?forumid=40)
-- Правильный полный backup базы данных (http://netadmin.ws/forum/showthread.php?threadid=7383)
Правильный полный backup базы данных
Перед нами стоит задача полной резервной копии одной из трёх
существующих баз данных.
На одном сайте мы прочитали, что следует для этого использовать команду: mysqldump -uLOGIN -pPASS DBNAME > dump.sql Хорошо, создаём этой командой дамп и получаем файл размером 25 мегабайт.
Но тут же находим стороннюю документацию, где сказано что самый правильный backup делается с ключем --opt. Тогда мы делаем команду: mysqldump --opt -uLOGIN -pPASS DBNAME > dump.sql и получаем файл уже размером не 25, а всего 14 мегабайт!
Скажите пожалуйста, как создать самый правильный полный backup, чтобы потом можно было бы без проблем полностью восстановить базу на вашем сервере и чем отличаются два вышеприведённых варианта? Почему получились такие разные объёмы?
С --opt используй. Объемы разные потому что с --opt используется многострочный insert (--extended-insert).
__________________
The time was broken ...
RaZEr
а вот мне саппорт хостинга ответил:
Самый правильный - это
mysqldump -pпароль -uимябазы имябазы > dump.sql
Так какой-же самый правильный всё-таки? Если "opt используется многострочный insert", то как это отразится на дальнейшем восстановлении базы? Неужели из-за этого потерялось такое огромное количество мегабайт?
База у нас от форума vBulletin, если пользоваться встроенной в контрольную панель форума утилитой "forum backup", то создаётся вообще файл с размером аж 30 мегабайт!
__________________
www.ulver.com - сайт о Скандинавии и Язычестве
valhalla.ulver.com - конференция Valhalla
Да обьем данных большой, считай что там больше 300 000 строк, если добавить в каждой строке по одному символу то уже получится на 300 000 байт больше а это уже 292 kb так посчитай что если не заключать например имена таблиц в кавычки на сколько меньше получится бэкап. А вообще есть фак по вбулетин и там описано как создается бэкап в коммандной строке, я точно не помню как там с opt или без, но знаю что я этой коммандой создал не один бэкап, который в жатом виде превышал 200 мб и при помощи которого база саздавалась без проблем.
__________________
Всегда есть решение.
quote:Странно ты перевел. Почему так?
300 000 байт больше а это уже 292 kb
__________________
The time was broken ...
polo
ну вот берём файл, который прилагается к Beta 7 (или Гамме) и смотрим:
If you want to upgrade your forums to vBulletin 3 Beta 7, you should first close your board via the vBulletin 2 admin control panel, and then make a complete back-up your database using the following command from the system command line:
mysqldump --opt -uusername -p databasename > databasename.sql
(Where username is your MySQL username and databasename is the name of your database)
Так вот хостер рекомендует без --opt, а разработчики vBulletin c --opt. Вопрос! - при создании базы из файлов, созданных двумя этими вариантами, получится одна и таже база с одним и темже объёмом??
quote:прости, я не совсем понял, ты именно с --opt создавал базу?
я этой коммандой создал не один бэкап, который в жатом виде превышал 200 мб и при помощи которого база саздавалась без проблем.
__________________
www.ulver.com - сайт о Скандинавии и Язычестве
valhalla.ulver.com - конференция Valhalla
quote:Да. Одна база, одни данные.
получится одна и таже база с одним и темже объёмом??
__________________
The time was broken ...
RaZEr
ok, если создали бэкап с помощью --opt, при распаковке надо указывать --opt?
Или просто mysql -uLOGIN -PPORT -hHOST -pPASS DBNAME < dump.sql ?
__________________
www.ulver.com - сайт о Скандинавии и Язычестве
valhalla.ulver.com - конференция Valhalla
Второе.
__________________
The time was broken ...
RaZEr ошибся, сорри.
300000/8/1024
__________________
Всегда есть решение.
Ну что вы, как маленькие? =))
http://www.mysql.com/doc/en/mysqldump.html
по доке - --opt - лучше, чем без. Хостер, наверное, про нее просто не знал.
Ну единственно, в нее drop входит, может кому-то это не нужно.
Varsosnill
Оба варианта правильные и одинаково хорошо работают, едиственное, вариант без --opt, является более старым, в котором для каждой строки БД используется один запрос, а с параметром --opt используется расширенные возможности команды INSERT (extended inserts), благодаря которым за один запрос вставляется несколько строк инфы. Так вот основное различие между ними, в том что в варианте без --opt много избыточной служебной информации, особенно, если таблица содержит много строк с небольшим количеством инфы. К тому же вариант с --opt быстрее обрабатывается при восстановлении.
Вообще-то, если проблемы с бекапом/восстановлением БД, рекомендую попробовать скриптик Site Keeper Dumper, он хорошо работает с дампами любых размеров (в отличии от phpMyAdmin), к тому же имеет такие полезные фичи, как умение работать с архивами GZip и Bzip2 (причем в обоих направлениях и при бекапе, и при восстановлении), фильтр таблиц (например, можно быстро сохранить таблицы от vb, достаточно в фильтр таблиц написать "vb_*")... Подробнее можно почитать на сайте. Кстати он работает в режиме аналогичном --opt
zapimir
Пускай и офф, но за дампер респект. Советую всем кто с шеллом не дружит.
__________________
No pity, no mercy, no regret.
а чо гзип и тар уже не катит?
__________________
RTFM (Уважаемые! Читайте документацию!)
Всем большое спасибо, особенно за Site Keeper Dumper! Единственное плохо, что хороший Bzip2 на валуехосте не работает с этим скриптом, можно только в GZip..
__________________
www.ulver.com - сайт о Скандинавии и Язычестве
valhalla.ulver.com - конференция Valhalla
quote:
Единственное плохо, что хороший Bzip2 на валуехосте не работает с этим скриптом
zapimir
да он вообще-то включен, через ssh без проблем сжимаю всё что угодно (с большей эффективностью чем gzip), но вот с дампером не работает, хотя в документации к этому скрипту сказано, что Bzip2 поддерживается..
__________________
www.ulver.com - сайт о Скандинавии и Язычестве
valhalla.ulver.com - конференция Valhalla
Должен быть модуль php включен, а скрипт просто проверяет если есть такая функция, то показывает соответствующую опцию, а если нет - то не показывает.
А мне сволота при дампе базы vB и такой строке:
mysqldump --opt -uroot -p vbforum > dump.sql
пишет: Permission denied
Делаю я все это в дирректории /root, как и написано в мануале по vBulletin.
Логин на mysql: root
пароля нет.
Как быть то?
Спасите 
__________________
Folloving the Lenin's way!..
Значит нет аккаунта root, или пароль проставлен.
__________________
The time was broken ...
вот еще скриптец http://zapimir.net/skdumper/
__________________
x-forum.info | x-search.info | xnt.info | kinokabra.ru | x-host.biz
2 Slayer: Тему еще раз прочитай.
__________________
The time was broken ...
тьфу, линком ошибся http://www.bitesser.de/freeware/script.php?id=1
__________________
x-forum.info | x-search.info | xnt.info | kinokabra.ru | x-host.biz
quote:
тьфу, линком ошибся http://www.bitesser.de/freeware/script.php?id=1
zapimir
да, видно модуль не включен, спасибо за пояснение..
А вообще по поводу отдельных скриптов для дампа, то дампер рулит однозначно! Спасибо за ссылку на него, это просто чудо.
__________________
www.ulver.com - сайт о Скандинавии и Язычестве
valhalla.ulver.com - конференция Valhalla
Я кстати по случайности использовал сайт кипер, когда нетадмин прикрыли мне оставили доступ только к базе, задача стояла в удаленном подключении к базе (т.е. с моего компа) забрать дамп на 50 мб, phpmyadmin загнулся сразу, думаю дай попробую киппер, ниче при set_time_limit(0) за пару часиков справился, правдо восстановить базу из шелла (mysql) не удалось (выдавало ошибку встроке xxxx, строку смотрел вроде все нормально было), восстанавливал темже кипером.
polo добавил 31-01-2004 в 01:04:56:
да, и выбор таблиц там неудобный, т.е. его вообще там нет, пришлось приделать.
__________________
Всегда есть решение.
quote:
за пару часиков справился
quote:
правдо восстановить базу из шелла (mysql) не удалось (выдавало ошибку встроке xxxx
quote:
да, и выбор таблиц там неудобный, т.е. его вообще там нет, пришлось приделать.
Там нет выбора таблиц, но есть фильтр, т.к. обычно дампится всё. А поскольку все современные скрипты используют приставки в названиях таблиц, то лично мне проще, набрать в фильтре vb_* (например для дампа только таблиц vb), чем выбрать 30-40 таблиц 
quote:
Пару часов дамп создавался? Что такой сервак загруженный?
quote:Ситуации разные бывают, я обычно дамплю все но тут вот пришлось дампить выборочно, так как еслибы дампил все то наверное сутки бы ждал а не 2 часа.
Ну кому как Там нет выбора таблиц, но есть фильтр, т.к. обычно дампится всё.
__________________
Всегда есть решение.
Господа, у меня вопрос родился, а вот когда я дамп заливаю, то БД "дополняется" или полностью переписывается из файла?
Т.е. записи существующие в БД но отсутствующие в заливаемом дампе удалятся?
__________________
Админ - вождь Апачей...
he][es все зависит от запросов =)
Но обычно
quote:
полностью переписывается из файла
quote:
Т.е. записи существующие в БД но отсутствующие в заливаемом дампе удалятся?
__________________
No pity, no mercy, no regret.
Блин... вот я ступил 
(Надо отвыкать просить о таком... Нет чтобы взять и открыть файл и посмотреть... блин... даже стыдно как то....)
__________________
Админ - вождь Апачей...
у меня 1.5 Gb база с --opt, разворачивается такая долго, дампится за минут 15
| Формат времени GMT. Текущее время 07:25. | Показаны 32 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.