Migrating a WordPress Site from utf8mb4 to utf8

Jul 7, 2015

Starting in version 4.2, WordPress will attempt to upgrade its database tables from utf8 to utf8mb4. You can read more about the change on make.wordpress.org if you’re into that kind of thing, but most of the time it won’t affect you. Most of the time.

It did affect me though. I ran into an issue where I’d built a site on a development environment running on MySQL 5.5 which supports utf8mb4, but had to launch it on Media Temple’s Grid service, which runs MySQL 5.1 and doesn’t support utf8mb4. I saw a few people recommending exporting the 5.5 database in phpMyAdmin using MYSQL40 compatibility and importing that into your 5.1 environment, but when I tried it, it messed up some serialized Beaver Builder data.

Eventually I discovered that WP Migrate DB is the way to go. The free plugin allows you to export your data with URL and file paths automatically replaced, and pre MySQL 5.5 compatibility. I ran it on the development site and got an export that I was able to import directly into the live, 5.1 environment without errors or corrupted serialized data.

I’m not sure how much of an edge case my situation is, but hopefully this is helpful to someone. Any other work arounds you’re aware of?