database collation differences

From quick check of the MySQL manual the database collation is only relevant for database–level operations (emphasis mine):

  • For CREATE TABLE statements, the database character set and collation
    are used as default values for table definitions if the table
    character set and collation are not specified. To override this,
    provide explicit CHARACTER SET and COLLATE table options.

  • For LOAD DATA statements that include no CHARACTER SET clause, the
    server uses the character set indicated by the character_set_database
    system variable to interpret the information in the file. To override
    this, provide an explicit CHARACTER SET clause.

  • For stored routines (procedures and functions), the database character
    set and collation in effect at routine creation time are used as the
    character set and collation of character data parameters for which the
    declaration includes no CHARACTER SET or COLLATE attribute. To
    override this, provide explicit CHARACTER SET and COLLATE attributes.

http://dev.mysql.com/doc/refman/5.7/en/charset-database.html

For WordPress it is table level collation that matters. That’s why it actually can do things like creating/upgrading utf8mb4 tables inside a database that isn’t.

So this seems to be non–issue and you could probably even set collation on existing databases without any trouble (not the same story at all with tables however!).