This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

WP-DBManager

Description

Allows you to optimize database, repair database, backup database, restore database, delete backup database , drop/empty tables and run selected queries. Supports automatic scheduling of backing up, optimizing and repairing of database.

General Usage

  1. Activate WP-DBManager Plugin
  2. The script will automatically create a folder called backup-db in the wp-content folder if that folder is writable. If it is not created, please create the folder and ensure that the folder is writable
  3. Open Folder: wp-content/backup-db
  4. If you are on Apache, move the htaccess.txt file from Folder: wp-content/plugins/wp-dbmanager to Folder: wp-content/backup-db/.htaccess if it is not there already
  5. If you are on IIS, move the Web.config.txt file from Folder: wp-content/plugins/wp-dbmanager to Folder: wp-content/backup-db/Web.config if it is not there already
  6. Move index.php file from Folder: wp-content/plugins/wp-dbmanager to Folder: wp-content/backup-db/index.php if it is not there already
  7. Go to WP-Admin -> Database -> DB Options to configure the database options

Build Status

Development

Translations

Credits

Donations

  • I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks, I will really appreciate it. If not feel free to use it without any obligations.

Disclaimer

  • Note that this plugin passes your datababase password via –password in the command line of mysqldump. This is convenient but as a trade off, it is insecure.
  • On some systems, your password becomes visible to system status programs such as ps that may be invoked by other users to display command lines. MySQL clients typically overwrite the command-line password argument with zeros during their initialization sequence. However, there is still a brief interval during which the value is visible. Also, on some systems this overwriting strategy is ineffective and the password remains visible to ps. Source: End-User Guidelines for Password Security
  • If this is a concern to you, I recommend another database backup plugin called WP-DB-Backup
  • To know about the difference between WP-DBManager and WP-DB-backup, checkout What is the difference between WP-DBManager and WP-DB-Backup? in the FAQ section.

Screenshots

  • Admin - Backup DB
  • Admin - Empty/Drop Tables In DB
  • Admin - DB Information
  • Admin - Manage DB
  • Admin - Optimize DB
  • Admin - DB Options
  • Admin - DB Options
  • Admin - Repair DB
  • Admin - Run Query in DB

FAQ

My database is not backed up / My backup file is 0Kb

  • Ensure that your host allows you to access mysqldump. You can try to narrow the problem by Debugging via SSH:
  1. In wp-dbmanager.php
  2. Find check_backup_files(); on line 246
  3. Add below it echo $command;
  4. Go to WP-Admin -> Database -> Backup
  5. Click Backup
  6. It should print some debugging statements
  7. Copy that line than run it in SSH
  8. If you need help on SSH contact your host or google for more info

What is the difference between WP-DBManager and WP-DB-Backup?

  • WP-DBManager uses mysqldump application to generate the backup and mysql application to restore them via shell.
  • WP-DB-Backup uses PHP to generate the backup. In some cases WP-DB-Backup will work better for you because it requires less permissions. Not all host allows you to access mysqldump/mysql directly via shell.
  • WP-DBManager allows you to have automatic optimizing and repairing of database on top of backing up of database.

Why do I get the message “Warning: Your backup folder MIGHT be visible to the public!”?

  • Ensure that you have renamed htaccess.txt to .htaccess and placed it in your backup folder (defaults to wp-content/backup-db/)
  • If you are 100% sure you have did that and have verfied that the folder no longer is accessible to the public by visiting the URL http://yousite.com/wp-content/backup-db/, you can safely disable the notice by going to WP-Admin -> Database -> DB Options and set Hide Admin Notices to Yes.

Reviews

June 14, 2021
I have been using this plugin for years and its working fine so far. I'm wondering why it's not getting any updates?! It updated a year back, but it's supporting the recent version of WordPress 5.7.2 (soon 5.8), and it's working fine. My worry is due to compatibility issue it may give problem while restore, and it may be data risk. Hope the plugin author will update the plugin and make it compatible with current version of WordPress. I would like to take this opportunity to thank the author. Its really simple and easy backup restore and with a lot of options, especially no confusion in the settings. The plugin is worth more than 5 star. Thank You Giri
April 24, 2020
I Haven't been using it for very long, but so far every feature I've tested works well. My one critique would be that, restoring a previously saved database only overwrites (or puts back if missing) the tables you saved. It does not also remove tables added after the time of the save point. When I restore a database, unless otherwise noted, I want that database to look exactly the way it did when I saved it. This means if you make a save point, then add some new plugin that spams your DB with tables, then go to restore your database, you'll still have to manually hunt through your database and remove the tables left by the offending plugin. This is a pain and the reason why I installed WP-DBManager to begin with (my current backup plugin behaves similarly when dealing with db backups which sucks). Overall, works well and you shouldn't need to restore that often, so the extra work to ensure no extra garbage tables are lurking around in your db, shouldn't be to much of a problem. I wish there was an option for a full replacement of the saved database with the restore instead of its current behavior of writing over tables.
November 15, 2019
it's got the right set of tools for what i need to do, but i think splitting up optimize, repair and empty/drop over 3 pages is unnecessary - all this could be done on the main (Database) page if there were checkboxes added there
Read all 89 reviews

Contributors & Developers

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

Contributors

“WP-DBManager” has been translated into 10 locales. Thank you to the translators for their contributions.

Translate “WP-DBManager” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

Version 2.80.3

  • FIXED: Poly fill array_key_first() for PHP < 7.3

Version 2.80.2

  • FIXED: Newer backup is being replaced instead of older backup

Version 2.80.1

  • FIXED: 1970 date issues.
  • FIXED: Sorting order of backup files.

Version 2.80

  • NEW: Prefix MD5 checksum to the database backup file to prevent user from guessing the filename.

Version 2.79.2

Version 2.79.1

  • FIXED: Added default utf8 charset

Version 2.79

  • FIXED: Proper check for disabled functions

Version 2.78.1

  • NEW: Bump WordPress 4.7
  • FIXED: Undefined index: repair and repair_period

Version 2.78

  • FIXED: escapeshellcmd on Windows. Props Gregory Karpinsky.
  • FIXED: Move wp_mkdir_p() up before if check. Props Scott Allen.

Version 2.77

  • FIXED: Blank screen downloading backup
  • FIXED: Remove MySQL Version check to display tables stats

Version 2.76

  • NEW: Add wp_dbmanager_before_escapeshellcmd action just before escapeshellcmd()
  • FIXED: Missing / for Windows

Version 2.75

  • FIXED: When activating the plugin, copy index.php to the backup folder
  • FIXED: If you are on Apache, .htaccess will be copied to the backup folder, if you are on IIS, Web.config will be copied to the backup folder
  • FIXED: When choosing 1 Month(s) for Backup/Optimize/Repair, the next date calculation is wrong

Version 2.74

  • FIXED: escapeshellarg() already escape $, no need to double escape it

Version 2.73

  • FIXED: Unable to backup/restore database if user database password has certain special characters in them

Version 2.72

  • FIXED: Use escapeshellcmd() to escape shell commands. Props Larry W. Cashdollari.
  • FIXED: Do not allow LOAD_FILE to be run. Props Larry W. Cashdollari.
  • FIXED: Uses dbmanager_is_valid_path() to check for mysql and mysqldump path. Fixes arbitrary command injection using backup path. Props Larry W. Cashdollari.
  • FIXED: Uses realpath() to check for backup path. Fixes arbitrary command injection using backup path. Props Larry W. Cashdollari.

Version 2.71

  • NEW: Bump to 4.0

Version 2.70

  • New: Uses WordPress 3.9 Dashicons
  • NEW: Allow you to hide admin notices in the DB Options page
  • NEW: Allow Multisite Network Activate
  • NEW: Uses WordPress uninstall.php file to uninstall the plugin
  • NEW: Uses wp_mail() to send email instead of PHP mail()
  • NEW: New From E-mail, From Name & Subject template
  • FIXED: Issues with email from field if site title contains , (comma)
  • FIXED: Notices

Version 2.65

  • FIXED: Set default character set to UTF-8. Props Karsonito

Version 2.64

  • FIXED: Use intval() instead of is_int() when checking for port number. Props Webby Scots

Version 2.63 (03-05-2011)

  • NEW: Added Auto Repair Functionality
  • NEW: Added nonce To All Forms For Added Security