The database was probably created as root. Therefore, any other user doesn’t have the permission to read/write the database. Try chmodding the db, or deleting it and then start firefly as user=nobody.
Deleting the database will force firefly to create a new one from scratch.
mt-daapd errors out with the same error whether the database is created by root (regardless of whether it is chown’ed to the alternate user or not) or by the user under which it runs.
Are there other files accessed that might require certain permissions or ownership?