Skip to content

A Rust executable program that clean and optimise your DBMS, made to be run everyday as a back-end program.

Notifications You must be signed in to change notification settings

Maxime-Cllt/DBMSCleaner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DBMSCleaner

Rust Database Cleaner Version

📖 Overview

DBMS Cleaner is a lightweight, efficient tool designed to optimize and clean your database. Built with Rust, it ensures optimal performance by reducing storage usage and optimizing all tables (except system tables) without altering configurations or requiring manual intervention.

Whether you're running a server or an application, DBMS Cleaner keeps your database in peak condition, compatible across all major platforms.


✨ Key Features

  • 🚀 Efficient Storage Optimization: Reduce database size by rebuilding indexes.
  • ⚙️ Table Optimization: Ensures all tables (excluding system tables) are optimized.
  • 🖥️ Cross-Platform Support: Seamlessly run on Windows, MacOS, and Linux.
  • 🛠️ Simple Integration: No changes to FILE configurations required.
  • 🛡️ Safe and Reliable: Maintains database integrity without the need for backups.
  • 🔧 Customizable: Easily configure settings via config.json.
  • ⏱️ Fast Execution: Run it as a cron job or scheduled task for continuous optimization.

🗄️ Supported Databases

MySQL MariaDB PostgreSQL

💻 Platforms & Requirements

MacOS Linux Windows

📋 Prerequisites

  • Rust Compiler (Install via Rustup)
  • Cargo Package Manager (Installed with Rust)
  • Supported database drivers: mysql, mariadb, or postgres

🔧 Installation

Follow these steps to get started:

1. Clone the Repository

git clone https://github.com/Maxime-Cllt/DBMSCleaner.git
cd DBMSCleaner

2. Compile the Program

cargo build --release

3. Configure the Connection

Create a file named cleaner.json in the same directory as the compiled program with the following content:

{
  "driver": "mysql|mariadb|postgres",
  "host": "localhost",
  "port": "3306",
  "username": "root",
  "password": "",
  "schema": "test"
}

You can also include mutliple schemas in the schema field, separated by a comma or use the * keyword to clean all schemas (except system schemas).

"schema": "test1,test2,test3"

4. Run the Program

For MacOS & Linux:

./target/release/DBMSCleaner

For Windows:

.\target\release\DBMSCleaner.exe

📝 Notes

  • Exclusions: Does not clean triggers, stored procedures, functions, or views.
  • Privileges Required: Ensure the program has sufficient privileges to connect and clean the database.
  • Frequency: Safe to run frequently for continuous optimization.

🔗 See Also


📜 License

This project is licensed under the MIT License.

🤝 Contributing

Contributions are welcome! To contribute:

  • Fork the Repository
  • Create a Feature Branch:
    git checkout -b feature/your-feature-name

About

A Rust executable program that clean and optimise your DBMS, made to be run everyday as a back-end program.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages