The MySQL user I am using for my site, could not truncate a table it needed to.
So I wanted to add delete permissions to just that table.
I ran this from a command line:
GRANT DELETE ON my_db.my_table TO my_mysql_user@localhost;
The output was
Query OK, 0 rows affected (0.06 sec)
Now the user (who prevously could) cannot connect to the database at all:
mysql_connect() [http://php.net/function.mysql-connect%5D: Access denied for user ‘my_mysql_user’@’localhost’ (using password: YES)
How was the user created originally? If the user@host mask was something like
... TO my_mysql_user@%, the localhost version you just granted delete to will be an entirely new user.