You should probably search, this is a quite a common topic however a simple answer.
Flat File - Is just a file, can get quite bulky and unorganised (especially when getting large). There is no tools that can be used to make the file size smaller or allow indexing for speedy gathering of data.
MySQL - Is a Database. It is not bulky as it can organise and relate data, tools to make speedy. It allows indexing which is a very good when needing to have large data stored.
The best is obvious a database doesnt need to be MySQL however it is quite popular. There are alternatives some can be argued as being better than MySQL.
Oracle, PostgreSQL, MS SQL, and MS Access (this is by far the worse and shouldnt be used)