Secondo GRANT
comando, non è possibile impostare i livelli di autorizzazione in base alla riga (tabella/colonne, sì, ma non le singole righe).
Puoi impostare una Visualizza per gestire questo però e concedere invece all'utente il permesso di accedere alla vista.
Una visualizzazione come la seguente dovrebbe fornire i messaggi in base all'utente corrente:
CREATE VIEW user_messages AS
SELECT *
FROM messages
WHERE
messages.from = user() OR messages.to = user();
E la dichiarazione di sovvenzione dovrebbe essere simile:
GRANT ALL ON db.user_messages TO 'jeffrey'@'localhost';