Convert from MyISAM to InnoDB

Applies to All Versions of SmarterTrack

Foreign keys are critical to the operations of SmarterTrack. Because MySQL's MyISAM database engine does not support foreign keys, SmarterTrack requires use of the InnoDB database engine. For more information on foreign keys, refer to your MySQL documentation.

Although there is no simple way convert a MyISAM database to InnoDB, you can follow these steps to convert from MyISAM to InnoDB when running MySQL on a Windows platform:

  1. Stop the application pool for SmarterTrack.
  2. Change the default database engine setting to InnoDB on the MySQL SmarterTrack database server. This can be done through the mysql.ini file or the MySQL Administrator GUI.
  3. Run the following command on the MySQL server from command prompt:
mysqldump --host=localhost --port=3306 –user=#username# --password=#password# --complete-insert --no-create-db --no-create-info #databasename# > "C:\#filename#.sql"
  1. Replace the variables with the appropriate information:
    • #username# = username with root access to MySQL
    • #password# = password of username with root access to MySQL
    • #databasename# = name of database schema
    • #filename# = the name of the file that will be created by mysqldump, i.e., database-dump.sql
  2. Create a new database schema for SmarterTrack.
  3. Delete the SystemSettings.xml file from App_Data\Config.
  4. Restart the application pool for SmarterTrack.
  5. Log in to SmarterTrack with the default system administrator account (default is “admin” for both username and password).
  6. Complete the Setup Wizard. NOTE: Make sure that when you connect to the database that you use the same table prefix that was used before.
  7. Stop the application pool.
  8. Run the SQL query that was created with the mysqldump against this new database. This will recreate your information/configuration in this new database.
  9. Start the application pool.

 

Learn more about the SmarterTrack online help desk and how you can improve your overall customer service.