AppDynamics for Databases cannot run as the root user.

AppDynamics for Databases cannot run as root because it contains a MySQL repository for performance data; and MySQL itself cannot run as root. If for some reason you do run the AppDynamics for Databases processes as root you may see the following problems:

[root@localhost appd4db]# ./start.sh
AppD4DB Starting.....
[root@localhost appd4db]# ./showStatus.sh
---------- AppD4DB Status ----------
-----------------------------------
DBTuna GUI             RUNNING
DBTuna_DB              STOPPED

Although there is no error message when you run the start.sh script; when you run the showStatus.sh script to verify the status of the processes the repository is displayed as "STOPPED".
If you try running a collector when the repository is stopped then you will encounter a problem such as the following:

[root@dms1 agent]# ./startOracleCollector.sh dms2
Now tailing collector start log for dms2
control-c to quit viewing the log
Cannot connect to AppD4DB repository.java.sql.SQLException: Server connection failure during transaction. Due to underlying exception: 'java.net.SocketException: java.net.ConnectException: Connection refused'.
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused
STACKTRACE:
java.net.SocketException: java.net.ConnectException: Connection refused
        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
        at com.mysql.jdbc.MysqlIO.(MysqlIO.java:284)
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:2680)
        at com.mysql.jdbc.Connection.(Connection.java:1485)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at com.appd4db.oracle.oracle_Collector.main(oracle_Collector.java:112)

** END NESTED EXCEPTION **

Attempted reconnect 3 times. Giving up.

This error message and stack trace is showing that the collector cannot connect to the repository, and therefore stopped.