In the app I'm writing I separated the user and main databases a long time ago for "security reasons". However its getting harder and harder to justify the overhead and the difficulty of managing such a setup.
For some quick detail this is a PHP web app. There are 2 separate mysqli connections, one for each database. Each database has its own user with its own credentials. This means you can't get to the main database with the user database credentials
In theory this prevents SQL injection damage, separation of concerns, security through obscurity, etc. However in a costs vs rewards I loose easy interoperability with the user table and the rest of the database, eg joins.
Are there more concrete reasons that such a database setup makes sense? Is this even common?