MySQL: Access denied messages
When you're installing MySQL you're asked to enter the root password that you want to set for the database. In the status code you've listed above you're logging in as charles@localhost and not root. That's the reason why it's not asking for the password you set during installation.

If you're logging in to MySQL using the root account then you can do all the things you want.

Simply type: 

mysql -p -u root


and it'll ask you for the root password. Now you're "in" the system with full access. You can then create databases using:

CREATE DATABASE MyNewDatabase;


If you have a user that you want to give access to this new database you can type:

GRANT ALL ON MyNewDatabase.* TO 'charles'@'localhost';


When this is done you should be able to login as charles and also have full access to the newly created database.