Anonymous users don't have permission to do squat. You need to create and grant using your mysql root user, or a user that has already been granted appropriate authority. MySQL users != Linux users. Use the "-u username -p" option on your commands to get into MySQL as a different MySQL user. Like I said before, I use webmin for this. Basically this is what I did:
1) Click on "Servers", then "MySQL Database Server".
2) Create Database - Click "create new database" and typed in "forums" for the name of my new database then clicked "create".
3) Create MySQL User and user permissions - Back on the main MySQL page under the "
Global Options" I clicked "User Permissions" and added a user called "forums" and gave it a password and next to "Hosts" I put "localhost" and under "permissions" I selected all of them (click the first one, scroll down to the last one and SHIFT+click the last one).
See Screenshot
4) Create Database Permissions - Back on the main MySQL page under "
Global Options" I clicked on "Database Permissions" where I clicked "create new database permissions" where I selected "forums" for the databse, typed "forums" for the username, typed "localhost" for the Hosts and selected all permissions same as in the previous step.
See Screenshot
Now your database and user should be ready to use for your phpBB. Just use localhost for the DSN (database server name) and use the username/password that you created in webmin. You might want to find a good MySQL tutorial somewhere if you want to use it for things beyond your phpBB. I use PostgreSQL and MySQL regularly for PHP/Perl programs that I write. And I just found out that MySQL works great with OpenOffice.