Нюансы при работе с MySQL и биллингом MikBill
Начиная с версии 1.10, активно используются хранимые процедуры и функции при работе с БД MySQL. Далее будут описаны важные моменты при технических работах с базой данных, такие как бекап/восстановление/перенос на новый сервер и т.д. Без их соблюдения - вы рискуете получить частично нерабочий биллинг.
Итак, наиболее частыми операциями, как уже упоминалось, являются - бекап/восстановление/перенос на новый сервер базы данных. У нас есть два варианта - либо работать через phpmyadmin, либо напрямую через консоль. Консольный вариант более гибок, удобен и надежен, к тому же phpmyadmin умеет далеко не все - не все параметры, работа с большими БД невозможна. Будут рассмотрены оба варианта.
Более подробно по параметрам можно посмотреть здесь: http://www.mysql.ru/docs/man/mysqldump.html
Работа с phpmyadmin
Чтобы процедуры и функции корректно попали в бекап, необходимо при экспорте не забыть указать чекбокс "Добавить CREATE PROCEDURE / FUNCTION". Также рекомендуется отметить "Добавить выражение DROP TABLE / VIEW / PROCEDURE / FUNCTION".
Приведены скриншоты для старых и новых версий phpmyadmin:


Удостовериться в том, что процедуры и функции попали в бекап просто - загляните в файл бекапа *.sql - поиск по "procedure", "function". Если все на месте - поздравляю, бекап успешен.
Работа с консолью
Экспорт хранимых процедур и функций включается параметром "routines", например:
[root@localhost sql]# mysqldump --routines --extended-insert -uroot -pdemo mikbill > backup_with_routines.sql
Если же база уже перенесена, и не хватает лишь переноса хранимых функций и процедур, можно воспользоваться командой:
[root@localhost sql]# mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt -uroot -pdemo mikbill > only_routines.sql
Импорт в базу на новом сервере/восстановление бекапа можно осуществить так:
[root@localhost sql]# mysql -uroot -pdemo mikbill < backup_with_routines.sql
Импорт только процедур и функций:
[root@localhost sql]# mysql -uroot -pdemo mikbill < only_routines.sql
"Ремонт" Mysql для чайников
C5QDIzmw39w