PHPackages                             zaiblab/mysql-backup - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. zaiblab/mysql-backup

ActiveLibrary[Database &amp; ORM](/categories/database)

zaiblab/mysql-backup
====================

PHP library for backing up and restoring MySQL databases — fully compatible with CodeIgniter 4.

1.0.1(10mo ago)013MITPHPPHP ^8.0

Since Jun 20Pushed 10mo agoCompare

[ Source](https://github.com/zaiblab/mysql-backup)[ Packagist](https://packagist.org/packages/zaiblab/mysql-backup)[ RSS](/packages/zaiblab-mysql-backup/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)DependenciesVersions (3)Used By (0)

MySQL Backup &amp; Restore Library (Built for CodeIgniter 4)
============================================================

[](#mysql-backup--restore-library-built-for-codeigniter-4)

A simple and developer-friendly way to back up and restore your MySQL database using PHP — now made to work smoothly with CodeIgniter 4.

Table of Contents
-----------------

[](#table-of-contents)

- [Introduction](#introduction)
- [About the Project](#about-the-project)
- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
- [Usage](#usage)
- [Disclaimer](#disclaimer)
- [Contributing](#contributing)
- [Authors](#authors)
- [License](#license)
- [Copyright](#copyright)

Introduction
------------

[](#introduction)

Whether you're a beginner getting started or a developer who wants reliable backup features, this library is made to help you manage your database backups and restores in a simple and efficient way.

About the Project
-----------------

[](#about-the-project)

This lightweight PHP library makes it easy to create clean and organized backups of your MySQL database — either full backups or selected tables. You can also restore your database using a `.sql` file or a `.zip` backup with just one line of code. It’s ideal for regular backups or moving your database from one place to another.

Features
--------

[](#features)

- Back up the full database or just selected tables
- Restore from `.sql` files quickly and safely
- Export backups with readable SQL structure
- Automatically names backup files using date/time
- Optionally compress backups into `.zip` format
- Designed for use with CodeIgniter 4

Requirements
------------

[](#requirements)

To use this library, make sure you have:

- PHP 8.0 or higher
- CodeIgniter 4
- `ZipArchive` extensions enabled
- A working MySQL database
- Composer installed

Installation
------------

[](#installation)

Install it with Composer:

```
composer require zaiblab/mysql-backup
```

If needed, make sure Composer knows where to find the classes:

```
"autoload": {
    "psr-4": {
        "DatabaseBackupManager\\": "vendor/zaiblab/mysql-backup/src/"
    }
}
```

Then refresh the autoload files:

```
composer dump-autoload
```

Usage
-----

[](#usage)

### 1. Set it up

[](#1-set-it-up)

```
use DatabaseBackupManager\MySQLBackup;

$db = db_connect(); // CI4's database connection
$backup = new MySQLBackup($db, WRITEPATH . 'backups');
```

### 2. Back up your database

[](#2-back-up-your-database)

```
// Back up everything
$info = $backup->backup();

// Back up only specific tables
$info = $backup->backup(['users', 'orders']);

// Only save table structure (no data)
$info = $backup->backup(null, false);

// Create a zipped version of the backup
$info = $backup->backup(null, true, true);

if ($info) {
    echo "Backup file created: " . $info['file_name'] . "\n";
    echo "File size: " . $info['file_size'] . " bytes\n";
}
```

### 3. Restore from a backup

[](#3-restore-from-a-backup)

```
// Path to your backup file
$path = WRITEPATH . 'backups/backup_mydb-2025-06-21_081400.sql';

// Restore the backup
$restored = $backup->restore($path);

// Optionally: remove old tables before restoring
$restored = $backup->restore($path, true);

if ($restored) {
    echo "Database restored successfully!";
}
```

Disclaimer
----------

[](#disclaimer)

This tool is shared in good faith, but please test everything before using it in production. Every setup is different, and it's always a good idea to double-check before relying on any tool for critical tasks.

By using this library, you agree that you're responsible for any outcomes related to your data or systems.

*Last updated: June 21, 2025*

Contributing
------------

[](#contributing)

Suggestions, improvements, and bug reports are always welcome! Open an issue or create a pull request on [GitHub](https://github.com/zaiblab/mysql-backup).

Authors
-------

[](#authors)

- **Ramazan Çetinkaya** — [@ramazancetinkaya](https://github.com/ramazancetinkaya)
- **Shahzaib** — [@zaiblab](https://github.com/zaiblab) (Maintainer for CodeIgniter 4 version)

License
-------

[](#license)

This project uses the [MIT License](LICENSE). You’re free to use, modify, and share it however you'd like.

Copyright
---------

[](#copyright)

© 2025 Ramazan Çetinkaya &amp; Shahzaib. All rights reserved.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance56

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 53.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

322d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c6ee5c26039d6a04c605b1b314a38bdf84e9a1996309e3bf1d342ee5fabf5e8f?d=identicon)[zaibcodes](/maintainers/zaibcodes)

---

Top Contributors

[![zaiblab](https://avatars.githubusercontent.com/u/142169313?v=4)](https://github.com/zaiblab "zaiblab (15 commits)")[![ramazancetinkaya](https://avatars.githubusercontent.com/u/75214035?v=4)](https://github.com/ramazancetinkaya "ramazancetinkaya (13 commits)")

---

Tags

phpdatabasebackupmysqlrestoremysql-backupcodeigniter4CI4database exportci4 databasecodeigniter backup

### Embed Badge

![Health badge](/badges/zaiblab-mysql-backup/health.svg)

```
[![Health](https://phpackages.com/badges/zaiblab-mysql-backup/health.svg)](https://phpackages.com/packages/zaiblab-mysql-backup)
```

###  Alternatives

[ifsnop/mysqldump-php

PHP version of mysqldump cli that comes with MySQL

1.3k5.5M69](/packages/ifsnop-mysqldump-php)[clouddueling/mysqldump-php

PHP version of mysqldump cli that comes with MySQL

1.3k22.9k](/packages/clouddueling-mysqldump-php)[rah/danpu

Zero-dependency MySQL dump library for easily exporting and importing databases

64401.8k10](/packages/rah-danpu)[druidfi/mysqldump-php

PHP version of mysqldump cli that comes with MySQL

35489.8k6](/packages/druidfi-mysqldump-php)[spanjeta/yii2-backup

Database Backup and Restore functionality

285.0k1](/packages/spanjeta-yii2-backup)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
