I think that means that the mysql user you're logged in as doesn't have some permission that's necessary. Maybe it can't create a file, I'm not sure. I don't know much about mysql administration so I don't know what to do about it. If you don't do your own administration then maybe you can ask your host about it.
Maybe you could try specifying a full path instead of just 'posts.csv', if you know the path to your directory on the host. Or maybe if the server is on a different computer you won't be able to do it at all, I'm not sure.
Another possibility would be if you have a database backup you could restore it to another computer (like your local computer, installing mysql first if you don't already have it). Or you could abandon the sql idea and write a php script to do it. Take ou tthe entire "INTO OUTFILE" line and write a loop to get each row and print it to a file.
ETA: looking at this page in the mysql docs:
http://dev.mysql.com/doc/refman/5.6/en/select-into.html it says you need FILE privilege and the file would be created on the server's host, so maybe using INTO OUTFILE isn't an option for you.