Skip to main content

yet another backup/restore program for mysql InnoDB tables

Project description

ibdx

Use case

  • backup/restore mysql InnoDB tables in an easy way

Setup

From pypi

pip install ibdx
or
pipx install ibdx (recommended)

From source

git clone https://github.com/Grvzard/ibdx.git
cd ibdx
pip install .

Usage

ibdx --help

Take care: There seems to be an incompatibility between mysql and mariadb. Make sure that ibdx works between the same db system.

Example

Let's say we have following tables: [ logs_2023_01, logs_2023_02, logs_2023_03, logs_2023_04 ]

ibdx backup -u user -p password -h localhost --db test1 --tables logs_2023_% -f logs.2023.zip [--datadir /mysql/datadir]
ibdx restore -f logs.2023.zip -u user -p password -h localhost --db test1 --tables logs_2023_% [--datadir /mysql/datadir]

When the mysql server is running in Docker, the --datadir option is required.

Script Workflow

backup:

  1. mysql> FLUSH TABLES test1 FOR EXPORT; (tables are read locked)
  2. backup the .ibd (and .cfg) files.
  3. mysql> UNLOCK TABLES;

restore:

  1. (optional) mysql> CREATE TABLE test1;
  2. mysql> ALTER TABLE test1 DISCARD TABLESPACE;
  3. copy the .ibd (and .cfg) files to the mysql-server's datadir
  4. mysql> ALTER TABLE test1 IMPORT TABLESPACE;

Reference

MariaDB Knowledge Base > InnoDB File-Per-Table Tablespaces

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ibdx-0.5.0.tar.gz (6.0 kB view hashes)

Uploaded Source

Built Distribution

ibdx-0.5.0-py3-none-any.whl (6.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page