Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
JamfDBConverter.sh
ReadMe.md

ReadMe.md

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):
https://macmule.com/2018/09/23/manually-converting-jamf-pro-tables-from-myisam-to-innodb

Note

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

Use

  • To run this script you should have a .my.cnf file containing your MySQL credentials.

  • Check with your DB admin and/or Jamf support to optimise the correct settings for your environment:

    • innodb_buffer_pool_size
      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
    • key_buffer_size
      Optimise for your environment, this is good start:
      https://mariadb.com/kb/en/library/optimizing-key_buffer_size/
  • 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.