Jamf Pro Database Converter Script
This script helps with the conversion from MyISAM to InnoDB in a setup where a lot of Jamf Pro instances are hosted on one MySQL server.
It is based in the work of Ben Toms (macmule):
If you only have one DB, use the tool from Jamf: Jamf Pro Manual for converting your DBs
This script has been tested on
- Red Hat Enterprise Linux Server, Release 7.5 (Maipo)
- MySQL Community Server (GPL), v5.7.23
- Jamf Pro v10.7.1-t1536934276
To run this script you should have a
.my.cnffile containing your MySQL credentials.
Check with your DB admin and/or Jamf support to optimise the correct settings for your environment:
75% to 80% of remaining server memory (total server memory minus other services memory)
- innodb_file_per_table = 1
Jamf reccomended "1" for our environment
- innodb_flush_log_at_trx_commit = 0
Default is 1
0 or 2 provides better performance but with a potential risk of loosing up
to 1 sec of transactions in case of power loss/crash
Optimise for your environment, this is good start:
Define variables for your setup:
- timestamp: The date format used to save your backup files
- MySQLConfigFile: The path of your my.cnf (for RedHat this should be /etc/my.cnf)
- BackupDestination: Where to save your Backups before the conversion starts.
Turn off all Tomcat services (on RedHat use
systemctl stop tomcat).
Run the script on the MySQL server (you must be root).
Restart all Tomcat services and test your setup.