The horde_mysqltosqlite Script


Last modified: September 28, 2020

Overview

Warning:
Unless your system experiences an error with the Horde data conversion process, do not use this script.

The /usr/local/cpanel/scripts/horde_mysqltosqlite script transfers and converts Horde user data from a single shared MySQL® database to one-per-cPanel-user SQLite databases. The system executes this script when you upgrade from cPanel & WHM version 11.48 to cPanel & WHM version 11.50. For more information about how to troubleshoot problems with the migration process, read our How to Troubleshoot Horde Data Conversion from MySQL to SQLite documentation.

Note:
If the system experiences an error with the conversion process, it sends a notification to the contact details that you added in WHM’s Basic WebHost Manager Setup interface (WHM >> Home >> Server Configuration >> Basic WebHost Manager Setup).

Script behavior

This script processes the Horde database conversion in following order:

  1. Creates a backup of the Horde MySQL database.

    Note:
    • Retain this backup until you verify that the script successfully converted your Horde data.

    • The backup of the Horde MySQL database only occurs if a backup of the database does not exist.

  2. Checks and repairs any Horde MySQL database schema problems.

  3. Converts the Horde user data from a single shared MySQL database to one-per-cPanel-user SQLite databases.

  4. Removes the Horde MySQL database.

Run this script

Warning:
After the conversion process completes successfully, do not run this script. If you run this script after the data conversion process finishes, the script overwrites previously-converted data.

To run the /usr/local/cpanel/scripts/horde_mysqltosqlite script from the command line as the root user, use the following format:

  • Convert all users — /usr/local/cpanel/scripts/horde_mysqltosqlite

  • Convert a single user — /usr/local/cpanel/scripts/horde_mysqltosqlite --user [user]

  • Convert multiple users — /usr/local/cpanel/scripts/horde_mysqltosqlite --user [user1] [users2] [user3]

Options

Option Description
--user user1 [user2] [...] Use this option to designate specific users to convert.
Important:
If you do not use this option, the script attempts to convert all users.
--force-backup Use this option to overwrite the MySQL database backup if a backup already exists.
Important:
Do not use this option unless you wish to overwrite a corrupt MySQL Horde database backup.
Note:
For more information about this option, read our How to Troubleshoot Horde Data Conversion from MySQL to SQLite documentation.
--no-backup Use this option to skip the MySQL database backup during the conversion process.
Note:
For more information about this option, read our How to Troubleshoot Horde Data Conversion from MySQL to SQLite documentation.
--no-convert Use this option to run the script without the conversion process.
Note:
You can use this option to perform the other functions of this script. For example, you can use this option to repair the Horde MySQL database.
--no-fix-schema Use this option to skip the script’s Horde MySQL database schema repair function.
--no-drop Use this option skip the Horde MySQL database removal at the end of the conversion.
--force-drop Use this option to force the script to remove the Horde MySQL database when the conversion finishes.
Note:
This script only removes the Horde MySQL database after a successful conversion of all Horde user data.
Warning:
Only use this flag after you have converted all Horde user data.
--replace-dest-db Use this option to move the existing SQLite database and create a new one.
Note:
  • Use this option to reprocess a failed conversion for a single user.
  • You can use this option with the --user option to specify multiple users.
--verbose Use this option to generate additional output details.
--help Use this option to show all of the available options for this script.

Additional Documentation