Zgodnie z GRANT
polecenie, nie ma możliwości ustawienia poziomów uprawnień dla każdego wiersza (tabela/kolumny, tak - ale nie dla poszczególnych wierszy).
Możesz skonfigurować Widok aby sobie z tym poradzić i zamiast tego przyznać użytkownikowi uprawnienia dostępu do widoku.
Widok taki jak poniżej powinien wyświetlać wiadomości na podstawie bieżącego użytkownika:
CREATE VIEW user_messages AS
SELECT *
FROM messages
WHERE
messages.from = user() OR messages.to = user();
A oświadczenie o dotacji powinno być podobne:
GRANT ALL ON db.user_messages TO 'jeffrey'@'localhost';