I think answer to which approach to take really depends on what you’re building and what your requirements are.
If you’re creating several microservices in different contexts, in general I’d say it’s a lot cleaner for each service to have it’s own EventStore rather than a shared one.
It’s a better separation of your application environment in that sense I’d think.
You can however think of a microservice environment where you’ve got two (completely different) event-appending services and a third one which is only interested in the stream of events coming out of those two.
If the third service needs to have both event streams in time order, it could be beneficial to use the same EventStore for the first two microservices.
I however still think that, if it are two different applications, then they ideally shouldn’t be sharing one EventStore.
If you would go for approach two, configuration wise that would mean to use the same underlying database.
So in your case, you’d configure the Datasource for every Axon application to point to the same MYSQL database.
Hope this helps.