I just got burned by this in production and thought I'd make a note of it here. MySQL user account passwords are global, not defined per database or per table. A MySQL user account has a single password which applies to all permissions you give this user account. In other words, the MySQL database 'mysql' has a 'user' table, with columns Host, User, Password. The user account you define with:
GRANT ALL PRIVILEGES ON some_db.* to 'someuser'@'%' IDENTIFIED BY 'somepass'
sets the password 'somepass' for the user 'someuser' ACROSS ALL DATABASES, not only the tables in the some_db database. This behavior caught me by surprise.