forum.bitel.ru http://forum.bitel.ru/ |
|
Вопрос по дампу БД BGBilling http://forum.bitel.ru/viewtopic.php?f=1&t=9025 |
Страница 1 из 1 |
Автор: | Dipress [ 06 мар 2014, 15:51 ] |
Заголовок сообщения: | Вопрос по дампу БД BGBilling |
Добрый день. Собственно нубский вопрос - как правильно сделать dump текущей БД (сейчас она размеров в 40ГБ что как по мне многовато с учетом того что львиная часть это логи пятилетней давности)? Какие шаги надо перед этим сделать? К примеру, какие сервисы BGBilling'а нужно перед дампом отключить. Спрашиваю по причине того что в MySQL особо не разбираюсь, всегда делал дампы на примитивном уровне аля Код: mysqldump -ulogin -ppassword bg_name > bg_name.sql Но тут почему-то такое не работает.... |
Автор: | dimOn [ 06 мар 2014, 16:06 ] |
Заголовок сообщения: | Re: Вопрос по дампу БД BGBilling |
для чего нужен дамп то? и как это связано с уменьшением размера? |
Автор: | Dipress [ 06 мар 2014, 16:20 ] |
Заголовок сообщения: | Re: Вопрос по дампу БД BGBilling |
Ну тут две причины: 1. для модуля Inet надо чтобы БД была на движке InnoDB, а у нас на MyISAM; 2. для использования репликации нужно dump перенести на slave сервер (если я конечно правильно понял из документации о репликации в MySQL). |
Автор: | skyb [ 07 мар 2014, 05:42 ] |
Заголовок сообщения: | Re: Вопрос по дампу БД BGBilling |
1. Прочтите http://wiki.bitel.ru/index.php/%D0%A0%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D0%B0%D1%86%D0%B8%D0%B8_%D0%BF%D0%BE_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B5_MySQL Цитата: Конвертацию можно выполнять только после включения в my.cnf поддержки InnoDb. Следует учитывать, что конвертация больших таблиц может быть очень длительной, поэтому оптимальным будет исключить из конвертации помесячные таблицы с сессиями, наработками и т.п. Для транзакционной работы они не критичны. Достаточно, что в последующие месяцы эти таблицы также будут создаваться в формате InnoDb. Также можно предварительно отработать конвертацию таблиц на стороннем MySQL сервере. 2. Дамп долго делается чтолЬ? у нас бд овер 100гб уже(нада подчистить как нить) бэкапится около часа, для слейва когда делал, да, да и бэкапы тоже в автоматическом режиме так делаются |
Автор: | Dipress [ 07 мар 2014, 13:35 ] |
Заголовок сообщения: | Re: Вопрос по дампу БД BGBilling |
Вопрос стоит в том как правильно сделать такой бекап, а там уже вес БД и т.д. вторичны. |
Автор: | ok-2004 [ 07 мар 2014, 14:15 ] |
Заголовок сообщения: | Re: Вопрос по дампу БД BGBilling |
если у вас база в myisam ( значит ,mysqldump -single transaction бесполезен ) и вам надо конвертнуть в иннобд - то без стопорения бжб нормальный dump с помощью mysqldump не сделаете., заодно и размер таблиц ужмёте при обратном восстановлении . Но тока учтите что даже если Вы включите движок innodb , то без замены всех слов myisam на innodb в дампе вы врятли получите в конце все таблицы в иннодб. А ваще фигня это какаято , ведь в бжб кроме innodb ещё и table partitioning используется. Так что самый простой вариант : - /etc/init.d/mysql stop - cp -av /var/lib/mysql/ /var/mysqlbackup - /etc/init.d/mysql start -mysql -uroot -ppassword -e " show tables from bgbilling where Tables_in_bgbilling like '%2009%' or Tables_in_bgbilling like '%2010%' or Tables_in_bgbilling like '%2011%' or Tables_in_bgbilling like '%2012%' or Tables_in_bgbilling like '%2013%' ;" | tail -n +2 | xargs -I '{}' echo "DROP TABLE {};" > drop.sql - mysql -uroot -ppassword bgbilling < drop.sql - mysql -uroot -ppassword -e "SHOW TABLES IN bgbilling;" | tail -n +2 | xargs -I '{}' echo "ALTER TABLE {} ENGINE=INNODB;" > conv.sql - /etc/init.d/mysql stop - sed -i '/\[mysqld\]/a innodb_file_per_table' /etc/mysql/my.cnf - rm -f /var/lib/mysql/ib* - /etc/init.d/mysql start - mysql -uroot -ppassword bgbilling < conv.sql |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |