Hello Jwang,
Yes we do use a MySQL database under the hood.
However, we don't encourage our users to directly query the DB for extracting data or for interacting with the product but we do recommend to use the API https://docs.appdynamics.com/display/PRO42/AppDynamics+APIs for different reasons (performance, stability, support, etc).
However, sometimes we connect directly to the DB for some rare admin tasks (ie changing the root pwd for example).
You can only connect to it locally on the controller, have a look here:
https://docs.appdynamics.com/display/PRO42/Reset+Root+User+Password
Now it all depends on what you are trying to achieve, right?
Hope it helps
Best