This really depends on the use case. For an in-memory replacement database for running unit test cases with, H2 Database Engine is an excellent option. However, if you are looking for a general purpose database for your production systems, then H2 Database Engine is not suited for this purpose.
Both MySQL & H2 [Database Engine] are relational databases & use same query language. Application features can be implemented with both but if it's expected that the application will be used by large user base or is complex MySQL is better. Cloud providers provide scaling support for MySQL and also it's more battle-tested. H2 is good when it's a small application as H2 is easier & quicker to set up.