WP Migrate DB

Description

WP Migrate DB exports your database as a MySQL data dump (much like phpMyAdmin), does a find and replace on URLs and file paths, handles serialized data, then allows you to save it to your computer as an SQL file. To complete the migration, you need to use a database management tool (e.g. phpMyAdmin) to import the SQL file to your database, replacing your existing database. It is perfect for developers who need to migrate fresh data from the production site to their local install, or migrate their locally developed site to a staging or production server.

WP Migrate DB handles serialized data (both arrays and objects) by unserializing the data and going through it, identifying strings and running a find & replace on them. Once it has gone through all the data, it serializes it again and sticks it back in the database.

Example: s:5:"hello" becomes s:11:"hello world"

PRO Version with Email Support and More Features

  • Push and pull your databases
  • Find & replace that handles serialized data
  • Backups
  • Export your database
  • Select which tables to migrate
  • Filter out post types
  • Exclude useless data
  • Save migration profiles
  • Phenomenal email support
  • Stress tested on massive databases
  • Solid security
  • Media Files addon
  • CLI addon
  • Multisite Tools addon

See the video below or visit the web site to learn more about the pro version.

Screenshots

  • Main screen
  • Settings tab
  • Saving the exported database

Installation

  1. Use WordPress’ built-in installer
  2. Access the “Migrate DB” menu option under Tools (or under Settings on multsite intallations)

FAQ

Why wouldn’t I just use WordPress’ built-in XML export/import to migrate my site?

WP Migrate DB will migrate your entire WordPress database, WordPress’ built-in tools will not. For more details, please see our blog post, WordPress XML Export/Import vs. WP Migrate DB Pro.

Will you migrate my site for me?

Sorry, but we do not offer site migration services at the moment.

Does the plugin support multisite?

Yes, but the Multisite Tools addon for the pro version does a lot more with multisite like migrating a subsite as a single-site install.

Does the plugin migrate files as well?

No, it only operates on the database. The pro version’s Media Files addon allows you to migrate media files.

Why do I end up with a wp-login.php download instead of the exported SQL file?

It is likely you have a download manager plugin or extension installed in your web browser. You will need to disable it for the SQL download to work properly.

Does the plugin handle serialized data?

Yep, it will run a find & replace on your serialized data and migrate it without corrupting it. See our documentation for details.

What are the requirements?

They are the same as the requirements for WP Migrate DB Pro.

Do you offer email support?

If you upgrade to WP Migrate DB Pro, we will gladly provide you with email support. We take pride in delivering exceptional customer support. We do not provide email support for the free version.

Reviews

Best WP DB export plugin ever

Back in the day I used to manually export the database from phpmyadmin or something else equally annoying, perform an unsafe search and replace on the sql file and then upload it to the destination site in question all while hoping that nothing went wrong.

Then I saw the light and discovered WP Migrate DB. Now it does all that for me, with a super easy to use UI and ultra stable functionality. Moreover, importing and exporting databases from dev, staging, production and vice versa is a seamless and enjoyable experience.

This is a must have plugin and easily one of my top favorites (next to ACF and Gravity Forms)!

What a dangerous tool! Why would “Search&Replace&Save” do this on the actual DB?

You would think oh, how convenient, download a DB copy with the domain names already replaced, all in one shot. Ready to upload to the new server.

But no, the script does the search&replace on the actual site, which inevitably breaks. In fact, the download doesn’t even happen anymore because the site breaks before it gets a chance to initiate it.

Not even a warning–are you sure?–or similar.

Actually, I can’t even imagine a scenario where you would (or could!) use this functionality… You are logged in to example.com and run the script, replacing example.com with domain.com. Once this is done, your example.com website breaks and you can’t do anything anymore. What am I missing?

Great

It works if you follow the instructions, if you need more support search a tutorial about this plugin on youtube.

Crashed the site

I was told this would successfully redirect http:// to https://, and all it did was mess up my DNS and database, which I have no idea how to fix. Not pleased.

Read all 170 reviews

Contributors & Developers

“WP Migrate DB” is open source software. The following people have contributed to this plugin.

Contributors

“WP Migrate DB” has been translated into Russian. Thank you to the translators for their contributions.

Translate “WP Migrate DB” into your language.

Interested in development?

Browse the code or subscribe to the development log by RSS.

Changelog

WP Migrate DB 0.9.2 – 2016-12-16

  • Bug Fix: Fixing 500 error for exports due to missing dependency on the WPMDB_Filesystem class

WP Migrate DB 0.9.1 – 2016-12-15

  • Bug Fix: Tables occasionally shown as completed twice, throwing off migration progress
  • Bug Fix: Backups run before find/replace operations sometimes have incorrect encoding

WP Migrate DB 0.9 – 2016-10-20

  • New: In-place Find & Replace functionality added – a find and replace can now be run on a site’s own database
  • New: CLI find-replace subcommand added
  • Improvement: Removed font-family declarations from stylesheets
  • Improvement: Truncate WP Migrate DB Pro diagnostic log to always be < 1MB, to help with memory exhaustion errors
  • Improvement: Added help tooltips for the default find and replace fields
  • Improvement: Added multisite specific constants to the diagnostic log
  • Improvement: “Clear Error Log” button only removes error messages and updates any changed diagnostic values
  • Improvement: Total stage progress now remains visible when scrolling migration item progress
  • Improvement: Show/Hide Tables setting does not persist between sessions.
  • Improvement: Progress bar animations now reflect paused migration state
  • Improvement: JS files now include a version number to better avoid cache issues

WP Migrate DB 0.8 – 2016-04-12

  • New: Migration progress UI
  • New: Individual table migration progress
  • New: Migration progress shown in title bar
  • New: Settings tab UI
  • Improvement: Adding a new find/replace row now automatically adds focus to the new “find” input
  • Improvement: Compatibility with WordPress 4.5

WP Migrate DB 0.7.2 – 2015-12-03

  • Improvement: “Migrate” button renamed to “Export”
  • Improvement: Uses WP_Filesystem instead of direct PHP filesystem functionality where possible
  • Improvement: Remove Find & Replace row icon is now a little dimmer to reduce UI clutter
  • Improvement: Compatibility with WordPress 4.4

WP Migrate DB 0.7.1 – 2015-07-09

  • Improvement: Added more diagnostic info to facilitate debugging
  • Improvement: Global JS variables moved to single global object to avoid conflicts
  • Bug Fix: WP Migrate DB and Pro can be activated at the same time when activating plugins in bulk or via WP-CLI
  • Bug Fix: BINARY data not exported properly
  • Bug Fix: BIT data not exported properly
  • Bug Fix: When post_max_size is set to 0 (unlimited), wpmdb_bottleneck is broken
  • Bug Fix: Saved Profiles link is broken in certain situations

WP Migrate DB 0.7 – 2015-06-12

  • New: WP-CLI export subcommand
  • New: Quick copy find textbox value to replace textbox by clicking arrow icon in between (hat tip Jonathan Perlman)
  • New: Added filters to hook into find & replace routine and deal with encoded data (example)
  • Improvement: Greatly reduced data passed through each HTTP request for better security and reliability
  • Improvement: Massive overhaul of input sanitization for better security
  • Improvement: Add _mig_ prefix to wpmdb_alter_statements table
  • Improvement: Cleanup wpmdb_alter_statements tables from failed migrations
  • Improvement: Show dimmed remove icons in find & replace rows to indicate they can be removed
  • Improvement: Dim remove icons next to saved profiles
  • Improvement: Better error message when empty response received from remote server
  • Improvement: Added diagnostic info to facilitate debugging and decrease time to resolution for support requests
  • Improvement: Warning notice when WP_HTTP_BLOCK_EXTERNAL constant is set to true
  • Improvement: Leave it to WordPress core to convert tables to utf8mb4
  • Improvement: Workaround to fix issues with Siteground’s staging environments
  • Bug fix: Connection URL with space(s) in beginning failing
  • Bug fix: Cancelling a gzipped Export does not remove file
  • Bug fix: Unusual table names causing regular expressions to fail
  • Bug fix: Preserving options not working when default subsite is not 1
  • Bug fix: NAN% shown at beginning of a migration
  • Bug fix: Migration progress bar is overflowing the scale, passing 100%
  • Bug fix: Custom post type links broken after migration with Compatibility Mode enabled
  • Bug fix: Saving a new profile does not change the URL to that saved profile URL

WP Migrate DB 0.6.1 – 2014-10-29

  • New: breadcrumb-style UI for saved profiles
  • New: Brazilian Portugese translation
  • Security: Added .htaccess to backup folder to help prevent direct downloads
  • Security: False values not included in signature
  • Improvement: Compatibility with TGM Plugin Activation
  • Improvement: Fixed hundreds of PHP Code Sniffer warnings
  • Improvement: Switch to update_site_option() and get_site_option()
  • Improvement: Cleaner and more instructive error message on JSON decoding failure
  • Improvement: New hooks to massage data before and after find & replace
  • Improvement: Common server security rules better accommodated
  • Improvement: Better compatibility with SSL on WP Engine
  • Improvement: Minify all the Javascripts
  • Improvement: Use PHP’s DIRECTORY_SEPARATOR instead of our own constant
  • Improvement: Updated tons of translation strings to be translator-friendly
  • Improvement: Find & replace field error messages could suggest removing the fields
  • Improvement: Download button for Diagnostic Info & Error Log
  • Bug fix: 404 errors after successful migrations due to caching
  • Bug fix: Multisite exports broken on PHP < 5.4.7
  • Bug fix: Using relative paths for file includes
  • Bug fix: Typing new profile name does not select “Create new profile” option
  • Bug fix: Find & replace field errors stick around even after removing fields
  • Bug fix: wpmdb_error_log option is auto loading
  • Bug fix: Inconsistent stripping of slashes
  • Bug fix: Spinner is inconsistent with WP 3.8+ spinner
  • Bug fix: Apostrophe in path not being handled
  • Bug fix: Inappropriate use of htmlentities()
  • Bug fix: The table tooltip still shows during the media files migration
  • Bug fix: Import/Export issues between MySQL 5.1 and 5.5+
  • Bug fix: Notice error on Updates dashboard page
  • Bug fix: Signature verification error when local and remote plugins are different versions
  • Bug fix: Find & replace handle icon is rendering poorly
  • Bug fix: PHP Notice: Undefined variable: safe_mode
  • Bug fix: Fatal error: Cannot use object of type WP_Error as array in verify_download()

WP Migrate DB 0.6 – 2014-08-19

  • New: Updated the migration UI to include a detailed progress bar, time elapsed, pause and cancel buttons and more!
  • New: Option to exclude transients (temporary cached data)
  • New: Migration profiles
  • New: Setting to configure the maximum request size (how much data is exported in a given HTTP request)
  • Improvement: Unlimited find & replace fields with drag & drop reordering

WP Migrate DB 0.5 – 2013-07-26

WP Migrate DB 0.4.4 – 2013-05-19

WP Migrate DB 0.4.3 – 2012-12-18

  • Fixed deprecated error notices when debug mode is on
  • Bug fix: Exports views as tables
  • Compatibility tested with WordPress 3.5

WP Migrate DB 0.4.2 – 2012-09-13

  • Moved screenshots to /assets folder and updated them to support retina
  • Added sidebar including author profile and survey to gauge interest for a pro version

WP Migrate DB 0.4.1 – 2012-08-15

  • Removed WP App Store installer – not allowed in WP.org repo

WP Migrate DB 0.4 – 2012-08-07

  • New: More than 4x faster than version 0.3 due to find & replace improvements
  • New: Option to turn off replacing GUIDs
  • New: Option to exclude spam comments and post revisions from the export
  • New: Option to save file with gzip compression
  • New: Added date and time to file names
  • New: Display path to SQL file on the server
  • New: WP App Store installer integration
  • Bug fix: Notices and warnings displayed when WP_DEBUG is on

WP Migrate DB 0.3 – 2011-12-16

WP Migrate DB 0.2.2 – 2011-09-23

WP Migrate DB 0.2.1 – 2009-12-13

  • Moved to WordPress.org hosting

WP Migrate DB 0.2 – 2009-04-03

  • Moved menu link from “Settings” to “Tools”
  • The random string of characters no longer appears in the filename on save.

WP Migrate DB 0.1 – 2009-03-20

  • First release