1. Zalogować się do serwera mysql na użytkownika root i nadać uprawnienia SUPER
użytkownikowi twoj_uzytkownik, który będzie się logował lokalnie do serwera.
WAŻNE: SUPER
może być nadane tylko dla całego serwera bazy danych.
2. Sprawdzić jakie uprawnienia posiada użytkownik twoj_uzytkownik.
3. Wylogować się z serwera i zalogować ponownie na użytkownika twoj_uzytkownik i sprawdzić jakie bazy danych są dostępne dla tego użytkownika.
4. Utworzyć nową tabelę o nazwie logi, która będzie zawierać pola: id_logu, data_zmiany, id_emp, zmiana (zmodyfikowanie rekordu).
5. Zaprojektować trigger czyli wyzwalacz o nazwie logowanie, który po każdej modyfikacji danych tabeli emp będzie wpisywał stosowne dane do tabeli logi.
DELIMITER // CREATE TRIGGER logowanie AFTER UPDATE ON emp FOR EACH ROW BEGIN INSERT `logi` (`data_zmiany`, `id_emp`, `zmiana`) VALUES (NOW(), OLD.id, 'modyfikacja danych'); END;// DELIMITER ;
DELIMITER // CREATE TRIGGER logowanie_nowosci AFTER INSERT ON emp FOR EACH ROW BEGIN INSERT `logi` (`data_zmiany`, `id_emp`, `zmiana`) VALUES (NOW(), NEW.id, 'dodanie danych'); END;// DELIMITER ;
6. Sprawdzić działanie triggera.
UWAGA: aby można było tworzyć triggery, użytkownik musi mieć uprawnienie SUPER
. Uprawnienie to nie jest nadawane przy nadawaniu uprawnień przy pomocy ALL PRIVILEGES
.