Skip to main content
Jamf Nation, hosted by Jamf, is a knowledgeable community of Apple-focused admins and Jamf users. Join us in person at the ninth annual Jamf Nation User Conference (JNUC) this November for three days of learning, laughter and IT love.

Installing Java and MySQL for Jamf Pro 10.14.0 or Later

Overview

Before you can install Jamf Pro 10.14.0 or later, Java 11 and a supported version of MySQL must be installed and running on the Jamf Pro server. This article explains how to install and configure Java 11 and MySQL 8.0 on supported Mac, Linux, and Windows operating systems.

Note: Jamf Pro 10.14.0 or later requires Java 11. If you have Java 8 installed on the Jamf Pro server, you should uninstall it before installing Java 11. For instructions, see the Migrating to Java 11 Knowledge Base article.

Note: Jamf Pro 10.16.0 or later requires MySQL 5.7.8 or later. If you have an older version of MySQL installed and are upgrading to Jamf Pro 10.16.0, you should upgrade to MySQL 8.0. For instructions, see the Upgrading to MySQL 8.0 Knowledge Base article.

Versions Affected

Jamf Pro 10.14.0 or later

Requirements

The required versions of Java and the minimum and recommended versions of MySQL for each version of Jamf Pro are listed in the following table:

Jamf Pro Java MySQL
10.16.0 or later 11 (required) 8.0 (recommended)
5.7.8 (minimum)
10.14.0 or later 11 (required) 8.0 (recommended)
5.6 or 5.7 (minimum)
10.10.0–10.13.0 8 (required) 8.0 (recommended)
5.6 or 5.7 (minimum)
9.98–10.9.0 8 (required) 5.7 (recommended)
5.6 (minimum)

If you are installing Java and MySQL for Jamf Pro 10.13.0 or earlier, see the Installing Java and MySQL for Jamf Pro 10.13.0 or Earlier Knowledge Base article for instructions instead.

The full list of requirements for Jamf Pro can be found on the Jamf Pro System Requirements page of the Jamf Pro Administrator's Guide.

Note: The latest versions of MySQL may not be compatible with older operating systems. For information on MySQL supported platforms and versions, see the following webpage:
https://www.mysql.com/support/supportedplatforms/database.html

Procedures

macOS 10.13 or later

To install and configure Amazon Corretto (OpenJDK) 11:

  1. Download the macOS .pkg file from the following webpage: https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html
  2. Double-click the downloaded file and follow the onscreen instructions.

For more information, see the following documentation from Amazon:
https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/macos-install.html

To install MySQL Community Server 8.0:

  1. Download the DMG archive of MySQL Community Server from the following webpage: https://dev.mysql.com/downloads/mysql/
  2. Mount the DMG and run the MySQL Community Server installer.
  3. When prompted, select Use Legacy Password Encryption.
  4. When prompted, enter a password for the root MySQL user.

To use the mysql command in Terminal, the path to MySQL must be added to the PATH. This can be accomplished in different ways, but one method is provided below:

  1. Open Terminal.
  2. Add mysql to the PATH by executing the following command:
    sudo sh -c "echo '/usr/local/mysql/bin' >> /etc/paths"
  3. Open a new Terminal window (the current Terminal session will still not have mysql in the PATH).
  4. Connect to the mysql> prompt by executing the following command:
    mysql -u root -p
  5. When prompted, enter the password you set while installing MySQL to verify the new root user credentials are correct. The mysql> prompt should appear.
  6. Exit the prompt by executing the following command:
    exit
  7. Quit Terminal.

Red Hat Enterprise Linux 7.x

To install and configure Red Hat OpenJDK 11:

  1. Install Red Hat OpenJDK 11 by executing the following command:
    sudo yum install java-11-openjdk-devel
  2. Change the default Java provider by executing the following command:
    sudo update-alternatives --config java

To install MySQL Community Server 8.0:

  1. In the terminal, change to the directory where you want to download files by executing a command similar to the following:
    cd /tmp
    Note: Files in the /tmp directory will automatically be deleted when the computer is restarted.
  2. Refer to the following webpage to find and copy the URL for the most recent RPM package for MySQL: Download MySQL Yum Repository
  3. Download the RPM package for MySQL 8.0 by executing a command similar to the following after replacing the URL you retrieved in the previous step:
    curl -OL https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
    Note: The built-in repositories from Red Hat Enterprise Linux will install an older version of MySQL that is not compatible with Jamf Pro.
  4. Add the MySQL yum repository by executing the following command:
    sudo yum install mysql80-community-release-el7-*noarch.rpm
    Note: Due to the ongoing MySQL release cycle, you may need to select the version of MySQL you want to install if the expected version does not get installed. For more information, see the “Selecting a Release Series” section of the following MySQL documentation: https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
  5. Install MySQL by executing the following command:
    sudo yum install mysql-community-server
  6. Configure MySQL to start at boot by executing the following command:
    sudo /sbin/chkconfig --levels 345 mysqld on
  7. Using your preferred text editor, open the /etc/my.cnf file by executing a command similar to the following:
    sudo vi /etc/my.cnf
    Note: For help with using the vi text editor, see the following webpage: A Beginner’s Guide to Editing Text Files With Vi
  8. Configure MySQL for Jamf Pro by ensuring the default-authentication-plugin setting appears within the [mysqld] section of the /etc/my.cnf file and that it is uncommented:
    [mysqld]
    default-authentication-plugin=mysql_native_password
  9. Start MySQL by executing the following command:
    sudo systemctl start mysqld.service

To set the root user password:

  1. Find the temporary root password generated during MySQL installation by executing the following command:
    sudo grep 'temporary password' /var/log/mysqld.log
  2. Connect to the mysql> prompt by executing the following command:
    mysql -u root -p
  3. When prompted, enter the password returned by the previous command.
  4. At the mysql> prompt, set the root password by executing a command similar to the following:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
    Replace MyNewPass4! with your new password. Note: Default password requirements require a password containing 8 or more characters and at least one lowercase character, one uppercase character, one number, and one symbol.
  5. Exit the prompt by executing the following command:
    exit
  6. Connect to the mysql> prompt again by executing the following command:
    mysql -u root -p
  7. When prompted, enter the password you set previously in the ALTER USER command to verify the new root user credentials are correct. The mysql> prompt should appear.
  8. Exit the prompt by executing the following command:
    exit

To configure the firewall:

The firewall is enabled by default in Red Hat Enterprise Linux. The firewall must be configured to allow traffic through the port used by Jamf Pro (typically 8443).

List the currently open ports by executing the following command:

sudo firewall-cmd --list-port

If the Jamf Pro port is not listed:

  1. Add the TCP port to the persistent list of open ports by executing a command similar to the following:
    sudo firewall-cmd --permanent --add-port 8443/tcp
  2. Add the TCP port to the list of open ports for the current session by executing a command similar to the following:
    sudo firewall-cmd --add-port 8443/tcp

Ubuntu 18.04 LTS Server

To install and configure Debian OpenJDK 11:

  1. Update the list of apt packages to the latest versions by executing the following command:
    sudo apt update
  2. Install the latest version of OpenJDK 11 by executing the following command:
    sudo apt install openjdk-11-jdk
  3. When prompted, click Yes to continue.
  4. Execute the following command to verify the Java version:
    java --version
  5. If the expected latest version of OpenJDK 11.x.x is not returned, change the selected Java version by executing the following command:
    update-alternatives --config java
  6. Set the Java path by executing the following command:
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    export PATH=$PATH:$JAVA_HOME/bin

To install MySQL Community Server 8.0:

  1. In the terminal, change to the directory where you want to download files by executing a command similar to the following:
    cd /tmp
    Note: Files in the /tmp directory will automatically be deleted when the computer is restarted.
  2. Refer to the following webpage to find and copy the URL for the most recent DEB package for MySQL: Download MySQL APT Repository
  3. Download the DEB package for MySQL 8.0 by executing a command similar to the following after replacing the URL you retrieved in the previous step:
    wget –c https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
  4. Add the MySQL apt repository by executing the following command:
    sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
    Note: You may need to select the correct MySQL version (8.x.x) to install if it is not already selected. Otherwise choose OK.
  5. Update the list of apt packages with the newest versions by executing the following command:
    sudo apt update
  6. Install MySQL by executing the following command:
    sudo apt install mysql-server
  7. When prompted, set a password for the MySQL root user.
  8. When prompted to select an authentication plug-in, select Use Legacy Authentication Method (Retain MySQL 5.x Compatibility).
  9. Connect to the mysql> prompt by executing the following command:
    mysql -u root -p
  10. When prompted, enter the password you set while installing MySQL to verify the new root user credentials are correct. The mysql> prompt should appear.
  11. Exit the prompt by executing the following command:
    exit

To configure the firewall:

The firewall is not enabled by default in Ubuntu. However, it is highly recommended that you enable and configure the firewall on any production systems. For instructions for enabling and configuring the firewall to allow incoming traffic through the Jamf Pro port (typically 8443), see the following webpages:

Windows Server 2012 R2 or later

To install and configure Amazon Corretto (OpenJDK) 11:

  1. Download the Windows .msi file from the following webpage: https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html
  2. Double-click the downloaded file and follow the onscreen instructions.

For more information, see the following documentation from Amazon:
https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/windows-7-install.html

To install MySQL Community Server 8.0:

Follow these steps to perform a basic installation of MySQL Community Server on Windows. Your organization may require different configuration settings for security or other reasons. Consult your IT department for more information about how MySQL should be configured.

  1. Download MySQL Community Server 64-bit MSI installer for Microsoft Windows from the following webpage: https://dev.mysql.com/downloads/windows/installer/8.0.html
  2. Open the MySQL installer.
  3. Select the Server Only setup type, and click Next.
  4. The installer will verify that the required software is installed. If the Microsoft Visual C++ Redistributable needs to be installed, click Execute to initiate the installation of this required software. Perform the installation of the software before continuing, and then click Next in the MySQL installer to continue.
  5. Start the installation of MySQL by clicking Execute, and click Next when the installation is complete.
  6. Click Next to begin the configuration.
  7. Select the Standalone MySQL Server option, and click Next.
  8. Select Server Computer, and click Next.
  9. Select Use Legacy Authentication Method (Retain MySQL 5.x Compatibility), and click Next.
  10. To establish the MySQL root user password, provide a password in the MySQL Root Password field, repeat it for confirmation, and then click Next. Note: You will create the Jamf Pro database, username, and password when installing Jamf Pro for Windows.
  11. Ensure Configure MySQL Server as a Windows Service, Start the MySQL Server at System Startup, and Standard System Account are selected, and click Next.
  12. Click Execute to apply the configuration and then click Finish when the configuration is complete.
  13. Click Next and then click Finish to complete the installation and exit the installer.

To configure the firewall:

The firewall is enabled by default in Windows Server. When using the Jamf Pro installer, the firewall will automatically be configured to allow traffic through port 8443 (the port used by Jamf Pro). If you select a different port for Jamf Pro (e.g., 443), you may want to remove the firewall entry that allows inbound traffic through port 8443.

Additional Information

For instructions on upgrading to MySQL 8.0, see the Upgrading to MySQL 8.0 Knowledge Base article.

For more information about MySQL 8.0, see the Configuring MySQL 8.0 for Jamf Pro Knowledge Base article.

Like Comment
Order by:
SOLVED Posted: by H3144-IT

When do you expect to release 10.14.0?

Like
SOLVED Posted: by mahughe

If I recall when I did my Linux 18.04 LTS upgrade a few weeks back I had to this line to the my.cnf file as well. Which is not listed in the steps above for that upgrade.

[mysqld]
default-authentication-plugin=mysql_native_password

Like
SOLVED Posted: by michael.devins

@H3144-IT Jamf Pro 10.14 beta 1 posted to Jamf Nation today. We expect this release will be generally available later this summer.

Like
SOLVED Posted: by justin.sako

@mahughe
Step 8 in the article (select Use Legacy Authentication Method (Retain MySQL 5.x Compatibility) should take care of this during the installation. It appears that the installer is not defining the default-authentication-plugin setting in the my.cnf file, however. It is defining it in a /etc/mysql/mysql.conf.d/default-auth-override.cnf:

# This file is automatically generated by MySQL Maintainer Scripts
[mysqld]
default-authentication-plugin = mysql_native_password

To verify that the MySQL accounts you are creating are set to use the appropriate plugin:

mysql> select user,host,plugin from mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| jamfsoftware     | localhost | mysql_native_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | mysql_native_password |
+------------------+-----------+-----------------------+
5 rows in set (0.00 sec)
Like
SOLVED Posted: by sgrall

Will JAMF Pro 10.14 require MySQL 8, like it is requiring Java 11?

Like
SOLVED Posted: by hhorn

For the Red Hat Enterprise Linux you still need to add the following to the documentation:
sudo /usr/sbin/alternatives --config javac

Like
JAMFBadge
SOLVED Posted: by brandon.roehl

@hhorn For Jamf Pro we don’t need the javac binary because we compile everything ahead of time. You can link it if you want for your own use but we don’t include it in the docs because it is not required to run Jamf Pro.

Like
SOLVED Posted: by ron.heck

@sgrall MySQL 8.0 will not be required with Jamf Pro 10.14.0, but it is recommended. The minimum required version will be MySQL 5.7.

Like
SOLVED Posted: by krausec

I am looking at rebuilding my server and wondering if I should wait for 10.14 or just go ahead and setup 10.13. Thoughts?

After Speaking with Tech Support, I went ahead and installed 10.13 as it sounds like they are not going to have 10.14 out anytime real soon. I needed the server up before that, whenever that was going to be.

Like
SOLVED Posted: by ron.heck

This article has been updated to clarify that Jamf Pro 10.14.0 or later requires Java 11.

Like
SOLVED Posted: by TSOAFTVPPC

"I am looking at rebuilding my server and wondering if I should wait for 10.14 or just go ahead and setup 10.13. Thoughts? "

I'm thinking i have the same question. So many of us are in EDU environments and need to know what the release status of 10.14 is sooner rather than later. It's been a month since "We expect this release will be generally available later this summer. " was posted.

Like
SOLVED Posted: by mschroder

I wonder for which parts of macOS 10.15 we will need Jamf 10.14, and I am a bit unhappy about the fact that a version of Jamf that probably is required for a new version of macOS comes itself with many extra requirements. I would feel better if I could already test the new Java and MySQL versions a bit earlier, and not roll out a lot of new tools just when the new macOS comes out and already requires a lot of attention.

I just migrated our test instance to Jamf 10.13, now I wonder whether or not I should prepare the migration of the prod instance to 10.13, or wait until Jamf 10.14 comes out...

Like
SOLVED Posted: by ron.heck

This article has been updated to include information in the overview about supported MySQL versions.

Like
SOLVED Posted: by Eigger

I'm getting this error on Ubuntu MySql Install Step 4

sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb

(Reading database ... 102343 files and directories currently installed.)
Preparing to unpack mysql-apt-config_0.8.13-1_all.deb ...
Unpacking mysql-apt-config (0.8.13-1) over (0.8.13-1) ...
Setting up mysql-apt-config (0.8.13-1) ...
Warning: apt-key should not be used in scripts (called from postinst maintainerscript of the package mysql-apt-config)
OK

Then this on Step 6

sudo apt install mysql-server

Reading package lists... Done
Building dependency tree Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies: mysql-server : Depends: mysql-community-server (= 8.0.17-1ubuntu18.04) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Like
SOLVED Posted: by dajackson
1. Download MySQL Community Server 64-bit MSI installer for Microsoft Windows from the following webpage: https://dev.mysql.com/downloads/windows/installer/8.0.html

Note that when downloading MySQL the download links for the installers are listed as 32-bit, but it will install both 32 bit and 64 bit binaries!

Like
JAMFBadge
SOLVED Posted: by brandon.roehl

@Eigger If you have not I'd make sure to run sudo apt update to update the repository listing before sudo apt install mysql-server
If that still fails I'd try removing the packages and cleaning it with apt clean, reinstalling and updating the packages list again. Update won't upgrade packages but upgrading might be good in other situations as well.

Like
SOLVED Posted: by smccullar

FYI, you have to uninstall mysql before installing newer version of mysql.

Like
SOLVED Posted: by ron.heck

This article has been updated as follows:

  • Added a table listing the versions of Java and MySQL supported by different versions of Jamf Pro
  • Added a step for setting the Java path on Ubuntu servers
Like
SOLVED Posted: by t.bissinger

Hi, I upgraded java to versin 11 and tried to install JamfServer on an Ubuntu 18.04. I get an error:

Could not install Jamf Pro because the following requirements were not met.
Java Cryptography Extension (JCE) Unlimited Strength Encryption Required.

Did not find anything in the internet about java 11 & JCE.
Has anybody suggestions?

Like
SOLVED Posted: by itupshot

Is the storage engine in MySQL 8 already InnoDB, or do we need to go through that procedure after installing JamfPro? I am configuring a fresh server vm to import my existing production JamfPro 10.13 db from a hardware server.

Like
SOLVED Posted: by justin.sako

@t.bissinger In Java 11, the separate JCE files are no longer needed (they are actually included with the Java installation, but in a different location). Unlimited Strength Cryptography should be enabled by default, but is controlled by a single setting (crypto.policy=unlimited) in the java.security file. The exact path of this file varies by Java vendor and OS, but should be in the ../conf/security/ directory of the Java installation (ex. /usr/lib/jvm/java-11-openjdk-amd64/conf/security/java.security). Ensure crypto.policy=unlimited is not commented out in the java.security file.

Like
SOLVED Posted: by ron.heck

This article has been updated to clarify the MySQL password instructions in the installing MySQL for Windows section.

Like
SOLVED Posted: by TomDay

I don't see the download link for macOS. I just want to be sure I am getting the correct file?
jdk-11.0.4_osx-x64_bin.dmg on this page

Like
SOLVED Posted: by ron.heck

@TomDay The file you are downloading should work for macOS. Be aware that paths and other minor differences may exist in currently published instructions because we now recommend and document procedures for Amazon Corretto (OpenJDK) 11 for macOS. Instructions for downloading Amazon Corretto (OpenJDK) 11 for macOS are provided in the "Procedures" section above.

Like
SOLVED Posted: by mbroxton

@t.bissinger Just install java-11-openjdk-devel and you are good to go.

Like
SOLVED Posted: by joelreid

Casually omits the fact that version-skipping MySQL upgrade paths are officially unsupported, instead just making it seem like casually upgrading to 8 is recommended… just uninstall the old one and install the new one. Well, I hope it works for you.

No amount of poking would make my 8 use the 5 data. I gave up and started fresh; had to configure 8 for Jamf Pro and create a new database and user to get the database utility working, and then import my final 5.x backup. See this thread for a list of steps that are concise but still Jamf-engineer-prescribed.

edit: there's also a dedicated Upgrading to MySQL 8 article. The MySQL section of the article above is odd; neither being complete for new installs, nor giving any mention to the intensive process needed if instead upgrading.

Like
SOLVED Posted: by ron.heck

This article was updated to add information about the MySQL 5.7.8 or later requirement for Jamf Pro 10.16.0 or later.

Like

Jamf would like to understand your ideal online purchasing experience!