1. Kayako Download customers: we will continue to develop and support Kayako Download beyond July 2017, alongside the new Kayako for existing customers.

    Find out more.

  2. The forum you are viewing relates to Kayako Classic. If you signed up or upgraded to the new Kayako (after the 4th July 2016), the information in this thread may not apply to you. You can visit the forums for the new Kayako here.

Questions before upgrading Kayako 4.70 to 4.74

Discussion in 'Installation and setup (Kayako Classic Download)' started by mikeonline, Jul 25, 2016.

  1. mikeonline

    mikeonline Established Member

    I am about to upgrade Kayako Classic/Download on our Windows 2008 R2 server with IIS 7.5. The new version of Kayako has a security update we need.

    Before I upgrade, I have a few questions:

    1. Under the So, what's recommended? heading on the Server Requirements page, it says "We recommend 5.5 as it is the latest tested version". But PHP 5.6 has been out for years, so I wanted to ask: is PHP 5.5 is still recommended over PHP 5.6?

    2. Regarding MySQL, the Server Requirements page has two additional guidelines:
    • As of Kayako 4.72, MySQL version 5.6.4 or higher is required.
    • There is a known bug with some MySQL versions which causes the upgrade to fail with the error: Uncaught Exception Invalid SQL SELECT section. This bug has been fixed in the latest released MySQL versions 5.6.31 and 5.7.13. We recommend to use the latest version of MySQL server available to avoid any issue.
    But according to this Kayako Forum user posting, MySQL 5.7 is required because "The latest Kayako requires an indexing feature that is only present in MySQL 5.7 or MariaDB 10.1". I assume this is incorrect, but no one has replied to this posting regarding this specific claim. Would I be OK upgrading MySQL to 5.6.31, or would you recommend I upgrade all the way to 5.7.13?

    3. In this response to the above forum posting, another user suggests that upgrading Kayako from 4.70 to 4.74 (and upgrading MySQL) requires completely reworking the my.cnf file, and running the Kayako upgrade via PHP at the console rather than via the web UI. Is upgrading Kayako via the console a supported upgrade method?

    4. The above user also suggests a new PHP.INI setting for PHP 5.6.22. I intend to follow this user's advice, though I may stay on PHP 5.5 depending on what you recommend.

    5. I assume I'd need to run mysql_upgrade and reconfigure the my.cnf file when I do the MySQL upgrade(s). Are there any specific database upgrade steps or configuration changes I need to be aware of for Kayako to work well? For example, do I need to run any SQL scripts or manually convert any database tables to InnoDB? Or will this be taken care of when I upgrade Kayako?

    6. I am considering upgrading MySQL first and running it for a day or two before upgrading Kayako Fusion 4.70 to version 4.74. Will this older Kayako 4.70 run fine on these newer versions of MySQL?

    - Michael
  2. Gary McGrath

    Gary McGrath Staff Member

    Hi Michael,

    Let's run down these questions for you.

    1) 5.6 is fine. The issue at the time is we wanted people to move away from 5.4, as 5.5+ is significantly faster.
    2) 5.6.31 is fine. You just need 5.6.4, but due to a bug in MySQL, upgrades might fail, which 5.6.31 will resolve.
    3) You can upgrade Kayako using the UI or console, both should work fine. During some upgrades, some people find their server hits resource limits, and ig that is the case, sometimes things need tweaking.
    4) The issue here as I recall is the fact between the two versions of php, support was changed around mysql to mysqli. Typically users when they upgrade, will copy over their config.php file, and this breaks the install. Just make sure you use the config.php.new file that comes with the latest Kayako and put your DB settings into it.
    5) Upgrade MySQL as directed by MySQL ( upload files, run the script ). Kayako will take care of it's own tables when you run the Kayako upgrade.
    6) Yes, the later version's of Kayako will use more features available in newer versions, older Kayako installs will still work, they just won't reap the benefits.

    I hope that helps!

  3. mikeonline

    mikeonline Established Member


    Thanks very much for your concise and timely reply.

    Past upgrades have stalled for me, and I have had to truncate the swsearchindex table, then upgrade, then rebuild the table via the Admin Control Panel. I have also heard it may be prudent to clear the cache folder before running the upgrade. Please let me know if these steps - or any others - should be taken before upgrading to help ensure a smooth upgrade.

    - Michael
  4. Gary McGrath

    Gary McGrath Staff Member

    Hi Michael,

    Truncating the swsearchindex can certainly help, it is usually one of the larger cache tables. If you can afford the rebuild time after, I'd recommend that method.

  5. mikeonline

    mikeonline Established Member

    The Kayako upgrade to version 4.74.2 on our Windows/IIS server went well. Details below if interested (and for future reference).

    - Michael

    I truncated the swsearchindex table before launching the Kayako Upgrade from the setup URL. The upgrade process completed in about 30 minutes. Subsequent reindexing of the tickets took over 5 hours for 270,000 ticket replies (I let users back in to Kayako before indexing finished). For some reason, this same reindex -- with a copy of the same database -- took only 90 minutes on a less powerful test server.

    An aside: It would be great if Kayako offered some guidance how to set the ticket reindex batch size optimally for either (a) quickest completion or (b) least server impact, given the server's RAM and the table size.

    Three notes regarding the installation of MySQL 5.6 Community on Windows (via MySQL Installer):
    1. When using MySQL Installer (on Windows) you can upgrade an older MySQL 5.5 to the latest 5.5.51, but you cannot use the upgrade feature to jump to the next minor release (i.e. from 5.5 to 5.6). So after upgrading to 5.5.51, I had to use mysqldump to save the kayako_fusion database to a SQL file, uninstall MySQL 5.5 fully, then install MySQL 5.6 and load in the dump file.
    2. The default database location changes after replacing MySQL 5.5 with MySQL 5.6, so my backup batch file -- which runs mysqldump -- needed a minor path adjustment. And I had to manually adjust the PATH environment variable to remove a reference to the older MySQL 5.5 bin folder.
    3. The MySQL configuration prepared by the MySQL Installer for Windows is not necessarily optimal. I suspect the ticket reindexing took so long due to sub-optimal MySQL 5.6 configuration, so I'll optimate MySQL manually after some study and testing.
    Jumping from PHP 5.5 to 5.6 was easy, because Microsoft's Web Platform Installer (installed via web browser and accessible within IIS Manager) offerred the latest version of PHP 5.6.24 for Windows. The Web Platform installer knows to grab the "non-thread-safe" 32-bit version, along with the corresponding Visual C++ runtime redistributable, and to set the various fastcgi settings in php.ini the way IIS needs them set. Two notes:
    1. The Zend OpCache is not loaded or enabled in PHP 5.6 by default, when installed via Web Platform Installer.
    2. We run hMailServer on our Kayako server, and the VBscript it uses to pipe incoming email into Kayako needed to be tweaked to locate php.exe within the new path for version 5.6.
    Of course, for both MySQL and PHP, you still have to tweak the ini files as specified in the Kayako "Classic" server requirements.
    Gary McGrath and Jamie Edwards like this.
  6. Jamie Edwards

    Jamie Edwards Staff Member

    Hi Mike - thanks for sharing the writeup!

Share This Page