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/