[[sysadmin:mysql_procedur]]

Нюансы при работе с MySQL и биллингом MikBill [чистовик]

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

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

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

Чтобы процедуры и функции корректно попали в бекап, необходимо при экспорте не забыть указать чекбокс «Добавить 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
  • sysadmin/mysql_procedur.txt
  • Последние изменения: 2019/08/29 10:46
  • — Дмитрий Грошилин