Страницы

2015-07-23

Смена владельца триггера MySQL

Понадобилось как то поменять имя базы и юзера, из под которого осуществляется доступ к этой базе.

Но вот незадача - там триггеры настроенные на конкретного юзера
Нагуглил вот такое решение:

Сначала выгружаю триггеры
mysqldump -h'localhost' -u'root' -p'root' --triggers --add-drop-trigger --no-create-info --no-data --no-create-db --skip-opt megasuperdatabase > /tmp/triggers.sql

Затем SEDом или руками заменяю на те которые мне нужны
И заливаю обратно (старые нужно удалить)
Удаляем так
mysql -h'127.0.0.1' -u'root' -p'root' megasuperdatabase -Bse 'drop TRIGGER insert_catalog_2_products'

Заливаем
mysql -h'localhost' -u'root' -p'root' megasuperdatabase < /tmp/triggers.sql

PS: Что то было не так с опцией add-drop-trigger уже точно не помню, что. Но по сути она должна добавлять строчку удаление старых триггеров в дамп.

Комментариев нет:

Отправить комментарий