From my personal experience, I know the import tool is far from perfect, and exporting from Slack is not the best either (since they keep changing the format)
Regardless I know that can import only once per team, so make sure you have a fresh team with no users (or no users with the same email) otherwise things do go wrong.
I also found that Mattermost runs better (we have about 100 users on simultaneously) on PostgreSQL then on MySQL.
Also make sure the the Mattermost user has the right permissions on it’s folders because the imported file is saved first before it is ran.
To respond to you other question, you can easily create a mysql dump to get it to the production server.
Once your 3.1.0 production instance is linked to your 3.0.3 database, you will need to run the “platform update” command to update your database to the latest version of the code. It should be quick, easy and painless.