docs/main/administration-guide/onboard/migrating-to-mattermost.mdx
Migrations help you move your Mattermost deployment or data from one environment to another with minimal disruption. Whether you’re transitioning your Mattermost server to new infrastructure, restructuring your database, or moving from another collaboration platform like Slack, this guide provides step-by-step instructions for each supported path. Use the sections below to quickly find the scenario that matches your needs and follow the recommended process to ensure a smooth migration.
Book a live demo or talk to a Mattermost expert to explore tailored solutions for your organization's secure collaboration needs. Or try Mattermost yourself with a 1-hour preview for instant access to a live sandbox environment.
The following instructions migrate Mattermost from one server to another by backing up and restoring the Mattermost database and config.json file. For these instructions, SOURCE refers to the Mattermost server from which your system will be migrated and DESTINATION refers to the Mattermost server to which your system will be migrated.
DESTINATION.
- Make sure your new instance is properly configured and tested. The database type (MySQL or PostgreSQL) and version of
SOURCEandDESTINATIONdeployments need to match.- Stop the
DESTINATIONserver usingsudo stop mattermost, then back up the database andconfig.jsonfile.
SOURCE to DESTINATION. Backup the database from the SOURCE Mattermost server and restore it in place of the database to which the DESTINATION server is connected.config.json from SOURCE to DESTINATION. Copy config.json file from SOURCE deployment to DESTINATION.FileSettings.DriverName is set to local), migrate ./data from SOURCE to DESTINATION.
- Copy the
./datadirectory fromSOURCEdeployment toDESTINATION.- If you use a directory other than
./data, copy that directory instead.
DESTINATION deployment by running sudo start mattermost. Then go to the System Console, make a minor change, and save it to upgrade your config.json schema to the latest version using default values for any new settings added.Once your migration is complete and verified, you can optionally upgrade the Team Edition of Mattermost to Enterprise Edition using the upgrade guide.
See the Migrate from Slack documentation for details on migrating from Slack to Mattermost.
BrightScout helped a major U.S. Federal Agency rapidly migrate from Jabber to Mattermost and open sourced their Extract, Transform and Load (ETL) tool at https://github.com/Brightscout/mattermost-etl. Read more about their case study online.
In some cases, people are using Pidgin clients with different backends to communicate. To continue using Pidgin with a Mattermost backend, consider using Mattermost ETL tool, created by BrightScout, to migrate data from your existing backend into Mattermost.
Then use the Pidgin-Mattermost plugin (complete with an installer for end user machines) to continue to support legacy Pidgin users while offering a whole new Mattermost experience on web, mobile, and PC.
Bitnami uses MySQL, and renames the Mattermost database tables by converting the names to all lower case. For example, in non-Bitnami installations, the Users table is named Users, but in Bitnami, the table is users (with a lowercase u). As a result, when you migrate your data from Bitnami to a non-Bitnami installation, you must modify the MySQL startup script so that it starts MySQL in lowercase table mode.
You can modify the script by adding the --lower-case-table-names=1 switch to the MySQL start command. The location of the start-up script generally depends on how you installed MySQL, whether by using the package manager for the operating system, or by manually installing MySQL. You must modify the start-up script before migrating the data.
For more information about letter case in MySQL table names and the --lower-case-table-names switch, see the Identifier Case Sensitivity topic in the MySQL documentation.
Mattermost is often selected to replace bespoke solutions by IT and DevOps teams as a stable, enterprise-grade, commercially-supported solution on an open source platform that meets and exceeds the flexibility and innovation of bespoke solutions.
Migrating from bespoke messengers to Mattermost can be challenging. Because of the difficulty of upgrading and maintaining bespoke solutions, the format for storing data is unpredictable, and the community around any single legacy release is small.
If your data in the bespoke messenger is vital, consider:
If your data in the bespoke messenger is not vital, consider: