Installing and configuring MySQL

Learn how to install and configure MySQL for Cloudera Edge Management (CEM).

For supported database versions, see System Requirements.

Install MySQL

If you want to use PostgreSQL or MariaDB instead of MySQL, you may skip these steps. See the instructions for PostgreSQL and MariaDB in the respective sections.

  1. Log in to the machine on which you want to install MySQL to use for the EFM Server.
  2. Install MySQL and the MySQL community server, and start the MySQL service. For installation instructions, check https://dev.mysql.com/doc/refman/5.7/en/installing.html.
  3. Obtain the randomly generated MySQL root password.
    grep 'A temporary password is generated for root@localhost' \
    /var/log/mysqld.log |tail -1
  4. Reset the MySQL root password. Enter the following command. You are prompted for the password you obtained in the previous step. MySQL then asks you to change the password.
    /usr/bin/mysql_secure_installation
  5. Download the MySQL JDBC Connector and place it in the EFM lib directory: /path/to/efm-1.4.0/lib/.
    Download the MySQL database driver from https://dev.mysql.com/downloads/connector/j/.

    It is recommended to select the Platform Independent offering, download one of the archives, extract, and then copy the connector JAR to the lib directory.

Configure MySQL for use by EFM

  1. Launch the MySQL shell:
    mysql -u root -p
  2. Create the database for the EFM service to use:
    CREATE DATABASE efm CHARACTER SET latin1;
  3. Create the efm user account, replacing the final IDENTIFIED BY string with your password:
    CREATE USER 'efm'@'%' IDENTIFIED BY 'efmPassword';
  4. Assign privileges to the efm account:
    GRANT ALL PRIVILEGES ON efm.* TO 'efm'@'%';
  5. Commit the operation:
    FLUSH PRIVILEGES;

Configure the EFM database properties

  1. Configure the database properties in the efm.properties file:
    efm.db.url=jdbc:mysql://localhost:3306/efm
    efm.db.driverClass=com.mysql.cj.jdbc.Driver
    efm.db.username=efm
    efm.db.password=efmPassword

    The URL should match the host and port of the machine running MySQL. Username and password at the DB side and in the efm.properties file must match.