WP-DBManager Plugin
Manages your WordPress database.
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
- Activate
WP-DBManager
Plugin - 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 - Open
Folder: wp-content/backup-db
- 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 - 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 - 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 - 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:
- In
wp-dbmanager.php
- Find
check_backup_files();
on line 246 - Add below it
echo $command;
- Go to
WP-Admin -> Database -> Backup
- Click
Backup
- It should print some debugging statements
- Copy that line than run it in SSH
- 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
.
Changelog
Version 2.80.9
- FIXED: Handle folder permissions properly
Version 2.80.8
- FIXED: Miss out database-backup.php.
Version 2.80.7
- FIXED: Changed ‘edit_files’ capability to ‘install_plugins’ instead.
Version 2.80.6
- FIXED: Remove ‘manage_database’ and use ‘edit_files’ to check for capability instead.
Version 2.80.5
- FIXED: Changed utf8 to utf8mb4 for backing up
Version 2.80.4
- FIXED: Clear WP-DBManager cron jobs on uninstall
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
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