About 5 minutes before reading your post I did the exact same thing and it also worked like a charm.
Not sure what the scope of your "why" question is... on a technical level, I think it's because mysql needs to be able to read and write to that table, and it can't do so as long as root owns it and the permissions are restrictively set. My guess is that chmod 777 on the same table would've accomplished the same thing, but I can't see any reason why root should own that table.
Then again, I am a unix newbie, and I know it's dangerous to mess around with permissions like that without understanding the potential for hacking. If I were doing this on a job, I would do a little more research about exactly what exactly the best resolution is-- my guess tho (which is what you and I did) is to chown to mysql-- then, the permissions can still be restrictive since only the mysql account is used to work with the data.