Когда возникает необходимость установить триггеры в MySQL 5.5, сервер может выдавать вышеуказанную ошибку. Это происходит оттого, что пользователю root при входе с удаленных машин не выданы права для действия TRIGGER. Такие права выданы только для локального пользователя root под localhost. Думаю, это сделано разработчиками специально, из соображений безопасности.
Некоторые господа считают это багом: http://bugs.mysql.com/bug.php?id=42260
Так или иначе, нужно просто разрешить пользователю root@% (или любому другому пользователю) с удаленной машины выполнять действие TRIGGER. Для этого можно использовать нехитрый PHP-скрипт:
<?php ini_set('display_errors', 1); error_reporting(E_ALL ^ E_NOTICE); mysql_connect("localhost", "root", "password"); mysql_select_db("db_name"); mysql_query ("GRANT TRIGGER ON `db_name`.* TO 'root'@'%'"); ?>
После выполнения данного скрипта пользователю root с удаленной машины будет доступна операция установки триггера.