Бекап mysql routines

Недавно столкнулся с такой проблемой. Развернул бекап mysql базы в среде разработке, и не нашел хранимые процедуры. Бекап я делаю через штатную програмку mysqldump. Она хороша тем, что это официальный инструмент для бекапа, он входит в пакет mysql.

Итак, чтобы mysqldump сохранял процедуры, нужно добавить ключ

--routines

Полностью команда:

#!/bin/sh
data=`/bin/date +%d.%m.%Y_%H-%M-%S`
/usr/bin/mysqldump --user=root --password=pass --routines name_db > /root/sql/sql-dump_${data}.sql

mysqldump есть еще много нюансов работы. Один из важным моментов — она блокирует БД, на время работы, так что, если ваше БД больше гига, лучше это делать на слейв сервере.

А так можно всю БД забекапить

/usr/local/bin/mysqldump --all-databases --default-character-set=utf8 --user=root --password=passroot > /home/webmaster/sql-dump.sql

Путь до mysqldump  может быть другой.

Узнать его можно командой

which

which mysqldump