MySQL is a great database. It has a lot of good features and is reliable in a great many use cases. However it sometimes hits its limits, some of these are specific to MySQL some are general issues with SQL databases in general.
- SQL does not scale out very well. If you need to shard a dataset across servers
- Tunning can be bit of an art form.
- SQL is can be subject to injection attacks. (See the cartoon)