billing:howto:mysql_procedure

Нюансы при работе с MySQL и биллингом MikBill

Начиная с версии 1.10, активно используются хранимые процедуры и функции при работе с БД MySQL. Далее будут описаны важные моменты при технических работах с базой данных, такие как бекап/восстановление/перенос на новый сервер и т.д. Без их соблюдения - вы рискуете получить частично нерабочий биллинг.

Итак, наиболее частыми операциями, как уже упоминалось, являются - бекап/восстановление/перенос на новый сервер базы данных. У нас есть два варианта - либо работать через phpmyadmin, либо напрямую через консоль. Консольный вариант более гибок, удобен и надежен, к тому же phpmyadmin умеет далеко не все - не все параметры, работа с большими БД невозможна. Будут рассмотрены оба варианта.

Более подробно по параметрам можно посмотреть здесь: http://www.mysql.ru/docs/man/mysqldump.html

Чтобы процедуры и функции корректно попали в бекап, необходимо при экспорте не забыть указать чекбокс "Добавить CREATE PROCEDURE / FUNCTION". Также рекомендуется отметить "Добавить выражение DROP TABLE / VIEW / PROCEDURE / FUNCTION".

Приведены скриншоты для старых и новых версий phpmyadmin:

nolink&|nolink&|

Удостовериться в том, что процедуры и функции попали в бекап просто - загляните в файл бекапа *.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

C5QDIzmw39w

  • billing/howto/mysql_procedure.txt
  • Последнее изменение: 12 лет назад
  • ld