mySQL doesn't have to run as a service. You have a choice to start it manually each time your server starts, or run it as a service in Windows so that it automatically starts up every time you restart your server.
And you're comparing apples and apes here. Flat-file storage is a group of text files holding information. So you're retrieving info as you go, and there's not much data manipulation/upkeep needed. All database servers (mySQL, MS Access, PostgreSQL) require their core to be running so that they can store information in a table. Plus they call on their own internal functions to manipulate and validate data in the tables. So mySQL and other databases are really elaborate programs for storing information. And in being a program, it has to run in order for it to be used.
Make any sense to you?
~Brett