I came upon this by accident: entering an incorrect databasename in mysite/_config.php (could happen when migrating to production site) results in Silverstripe creating a new database when visiting the site for the first time. Of course you can never login, there is no administrator...
Why would Silverstripe behave like this?