2015-04-15 3 views
0

Ответ на этот вопрос по-разному в разных источниках, поэтому я должен проверить его с помощью stackoverflow.Подключить запуск MySQL к определенному пользователю MySQL

У меня есть два пользователя в моей базе данных MySQL: database_admin и database_user я написал триггер:

delimiter // 
    create trigger super_trigger... 
delimiter; 

Как я могу сделать, чтобы работать только для database_admin, но не для database_user

+0

* Один из источников сообщил, что триггер будет работать только для пользователя, который его создал, а другой указал на какой-то причудливый способ, когда имя пользователя было частью триггера. –

ответ

0

Вы должны поместить логику в триггер:

CREATE TRIGGER super_trigger ... 
    FOR EACH ROW 
     IF USER() LIKE '[email protected]%' THEN 
      ... 
     END IF; 

Функция USER() возвращает пользователя, который выполнил заявление, которое вызывается триггер.

0

Это должно быть чем-то вроде предоставления разрешения конкретному пользователю в этом триггере, вы можете использовать этот синтаксис для этого. Я назначаю все разрешения пользователю abc (доступ из любого места%) в триггере базы данных.

grant all on databaseName.TriggerName to [email protected]'%'; 

flush privileges; 
+0

спасибо, я попробую это –

Смежные вопросы